Skip to content

Conversation

@lhenry-realtek
Copy link
Contributor

This PR contains several changes for debugging TDM operation

  1. It is observed that when keepalive watchdog is disabled, the operation of TDM is smooth and does not hang. Maybe some change is needed to create the thread

  2. Currently undergoing long run streaming testing to check for hangs

  3. There are glitches that are observed at the LA analyzer, but do not happen on the board. It is observed that the LA occasionally skips a clock cycle, causing the data to mismatch with the board by 1 bit.

However this does not mean that the data is corrupted!

image

==============

There are several important steps to take note to ensure correct signal observation

  1. Please update the TDM analyzer plugin @ https://github.com/bitswype/saleae_tdm_analyer/releases to latest

  2. The following setting should be used:
    Scope setting: 500MS / 1.8V+ <-- It is observed that 3.3V has higher chance of 1bit error at the scope, it does not affect the board data.

Analyzer setting:
image

  1. If possible, power down the board fully to reset the sensor as well. This will yield results that are easier to compare scope vs UART data

Switch to using Left Justified WS/FS/LRCLK
Because 8CH is used there will be 2 DMA buffers combined to produce final requested bytes
So half the size of each buffer should be requested.

Also, FIFO is reset upon each transfer completion to avoid stale bytes in the FIFO that may be copied into DMA buffer
Use of delayms/us will cause the CPU to busy wait, switch to using usleep APIs which will yield the CPU. This fixes TASH getting stuck as well every ~7s

It was also observed that when the keepalive watchdog is disabled, the data can be constantly streamed with no sudden stoppage or hang
@allen-kim-sec
Copy link

@lhenry-realtek

Thank you for your supporting But I am unhappy because I did not reply on the correct answer...
report of this pr

  1. still Bitclock Error : it is not completed Frame Data
  2. MCLK & BCLK are not generated continuously during Read operation
  3. AIS25BA TDM Frame Start with Rising Edge but FSYNC always start with High Level so wasted 31.25usec to make Rising Edge
  4. still we can find missing frame and Samples

@lhenry-realtek
Copy link
Contributor Author

  1. bitclock error is reported by the software decoder, not the chip. If the decoder skips 1 clock, the frame display is wrong, but the the chip is receiving the data fine. I have asked eric to pass you the sample exported data and the log output after 12 hours to compare

  2. Please check 9b3e304 is brought into this branch from PR (Under Verification) [TDM_Dev] os/board/rtl8730e: fix dma buffer interleaving for TDM #6963, the required changes for clock retain are not included.

@allen-kim-sec
Copy link

allen-kim-sec commented Sep 17, 2025

  1. bitclock error is reported by the software decoder, not the chip. If the decoder skips 1 clock, the frame display is wrong, but the the chip is receiving the data fine. I have asked eric to pass you the sample exported data and the log output after 12 hours to compare
  2. Please check 9b3e304 is brought into this branch from PR (Under Verification) [TDM_Dev] os/board/rtl8730e: fix dma buffer interleaving for TDM #6963, the required changes for clock retain are not included.

Please Look BLCK and MCLK during BitClock Error

  • FSYNC has very short contained CH1CH5 , missing three samples from CH6Ch8
    . I want to see full reading operation * please tell me "Why BCLK is stopped?"

@allen-kim-sec
Copy link

@lhenry-realtek

I want to see you in the C/C , please let me know convenient time , Let me invite you soon

@allen-kim-sec
Copy link

@lhenry-realtek , @namanjain7

please "We need to have a conference call with Indian developers. So, around 3 to 4 PM seems like a good time."

@lhenry-realtek
Copy link
Contributor Author

No issues, 3pm/4pm Korea time?

@allen-kim-sec
Copy link

allen-kim-sec commented Sep 25, 2025

@lhenry-realtek

  • can you explain about GDMA operation with TDM ?
    . High Level Working Flow diagram
    . Multi Block Transfer ( link structure , the condition of DMA Interrupt )
    . relation between TDM FIFO to GDMA Memory

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants