BSMX falling edge data not always available
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2024-06-20 11:49 AM - edited 2024-06-20 12:00 PM
I am working on an application using an STM32U5A5 nucleo board with four MEMs PDM output format microphones. The microphones are configured such that data is valid for the left channel on a rising clock edge and valid for the right channel on a falling clock edge. My configuration is illustrated below.
Path | Microphone | MDF_SDI pin | valid Edge | Filter | GPDMA channel
1 L1-------------> MDF1_SDI0 ----->rising----> MDF_DFLT0---> 2
2 R1------------> MDF1_SDI0 ----->falling----> MDF_DFLT1---> 3
3 L2-------------> MDF1_SDI2 ---->rising-----> MDF_DFLT2---> 4
4 R2------------> MDF1_SDI2 - --->falling----> MDF_DFLT3---> 5
I have noticed that after reset, I'm not able to start a mono recording on path 2 unless a recording was previously started on path 1. Similarly, I' m not able to start a recording on path 4 unless a recording was previously started on path 3. Once path 1 has been configured, I'm able to independently start and stop recordings on path 2. Same for path 3 and 4. I am able to start recording on paths 1 and 3 irrespective of whether recordings have previously been started on other paths. The only difference in the initialization procedure between paths 1 and 2 is the bitstream selection setting (0 vs 1). Similarly, the only difference between the initialization for paths 3 and 4 is bitstream selection 4 vs 5. For paths 1 and 2, TRGO is set and reset after the initialization procedure. I've included the initialization procedure I'm using below:
#define AUDIO_L 0
#define AUDIO_R 1
#define ULTRA_L 2
#define ULTRA_R 3
- Labels:
-
Bug-report
-
MDF
-
STM32U5 series
