Ho lavorato al progetto audio con la scoperta STM32F4 e ho notato una cosa, tutti gli standard I2S funzionano solo con un microfono (a seconda del bordo che lo standard utilizza bit separati). Per esempio. con gli standard Philips, MSB o LSB che usano i fronti discendenti come trigger di bit, cattura solo il microfono L/R messo a terra e, se utilizzo lo standard PCM che utilizza i fronti in aumento come trigger di bit, cattura solo il microfono L/R alto. Non riesco a trovare un modo per catturare entrambi i campioni di microfono MEMS in un periodo. STM32F4 non è in grado di utilizzare i microfoni contemporaneamente senza IC esterni?STM32F4 stereo MEMS mic
risposta
La soluzione sarebbe quella, di scegliere I2S clock dei dati di essere due volte più veloce come l'orologio di ingresso microfono Mems, in modo che il processore, potrebbe prendere i campioni su ciascun impulso di Mems orologio
Ok, ma come sincronizzare il veloce e l'orologio lento? Come suggerisci di generare il segnale di clock? – An0nym0u5
Solo un seguito alla stessa domanda. Un modo per rendere l'orologio del microfono due volte più piccolo è quello di instradare l'orologio generato da I2S a un timer (che è impostato sulla modalità di uscita in uscita) sul pin ETR. Quindi puoi dividerlo come vuoi. In questo caso due volte. Il clock di uscita dei timer va a entrambi i microfoni e i loro dati sono collegati a I2S (che sta generando l'orologio). Alla fine si ottiene I2S lavorando due volte più veloce rispetto ai microfoni. – MattJ
si può provare ad usare I2S2 e I2S3, il secondo a generare l'orologio per i microfoni e il primo a generare l'orologio per campionare i valori di pdm (a una doppia frequenza), condividendo lo stesso PLL l'orologio dovrebbe essere sincronizzato. Così facendo penso che si possano ottenere i bit di pdm leggendo il registro recv dell'I2S2 ma penso anche che i bit dei 2 microfoni saranno interfogliati (un po 'dal microfono 1, un altro dal microfono 2 e così via).
Solo un seguito alla stessa domanda. Un modo per ottenere dati da entrambi i microfoni è rendere l'orologio del microfono due volte più piccolo. È possibile farlo instradando l'orologio generato da I2S a un timer (che è impostato sulla modalità di acquisizione in uscita) sul pin ETR. Quindi usando il timer puoi dividerlo come vuoi. In questo caso due volte. Il clock di uscita dei timer va a entrambi i microfoni ei loro dati sono connessi alla linea dati I2S (lo stesso che genera l'orologio). Alla fine si ottiene I2S lavorando due volte più veloce rispetto ai microfoni.
Ecco un esempio con quattro microfoni. (Nel tuo caso è sufficiente rimuovere la SPI)
Per ulteriori informazioni leggere su questo.
- 1. Windows fake mic
- 2. Android - Mic livelli di input?
- 3. Multiple Stereo AudioTracks
- 4. registrazione stereo su iPhone
- 5. Forza stereo L/R
- 6. OpenCV Stereo Matching/Calibration
- 7. Riproduci tono stereo in Android
- 8. OpenCV con ricostruzione 3D stereo
- 9. lettura dell'ampiezza di Android AudioRecord da MIC
- 10. STM32F4 Gestione errore periferico durante il trasferimento DMA (RX)
- 11. File PCM Wave - stereo su mono
- 12. Come convertire un wav stereo in mono
- 13. Stereo a Mono wav in Python
- 14. Come scrivere file wav stereo in Python?
- 15. Stereo OpenGL nella finestra a più livelli
- 16. iOS mp3 diviso stereo a mono aac
- 17. Abilita MIC in genimotion/Qualsiasi altro buon emulatore Android
- 18. Come richiedere l'autorizzazione di registrazione mic da parte dell'utente
- 19. Unità audio iOS - Creazione di onde sinusoidali stereo
- 20. Come calcolare la matrice fondamentale per la visione stereo
- 21. Come rappresentare i dati audio stereo per FFT
- 22. Come aggiungere le opzioni stereo, toni alti nell'equalizzatore audio?
- 23. Python/OpenCV dell'attività: una mappa di profondità da immagini stereo
- 24. OpenCV undistortPoints e triangulatePoint danno risultati strani (stereo)
- 25. Allocazione della memoria in Flash per i dati utente (STM32F4 HAL)
- 26. Autorizzazione Jenkins negata (chiave pubblica, gssapi-keyex, gssapi-con-mic, password)
- 27. EC2 ssh Autorizzazione negata (chiave pubblica, gssapi-keyex, gssapi-con-mic)
- 28. codice semplice per calcolare la frequenza a Live Mic audio utilizzando WebAudio API
- 29. Come posso convertire un WAV da stereo a mono in Python?
- 30. Un metodo per calcolare il centro di massa da un file .stl (stereo litografia)?
io ho lo stesso problema sulla stessa piattaforma, ti invitiamo a condividere la vostra soluzione con noi, (aswering alla tua domanda) come hai fatto alla fine? Grazie mille! – An0nym0u5