ST意法半导体
直播中

lalajie

8年用户 1228经验值
擅长:模拟技术 存储技术
私信 关注
[问答]

谁能分享X-NUCLEO-CCA02M2接口的详细信息?

你好,
   我将 X-NUCLEO-CCA02M2 麦克风板与 nucleo-f401RE 一起用于 USB 音频流。谁能分享有关接口引脚连接(使用哪个 I2S 引脚)的详细信息?我的理解就像定时器是用来连接pdm时钟和I2S时钟的。定时器的输入是否可以使用软件配置或需要 I2S 时钟和定时器输入之间的硬线连接?





回帖(1)

刘恩彤

2022-12-26 14:29:07
X-NUCLEO-CCA02M2板兼容的麦克风是数字PDM麦克风,所以他们只需要时钟和PDM线。
这些线路在连接到“主板”NUCLEO-F401RE 的 morpho 连接器上报告。但是,此板有多个“空闲”GPIO 引脚,可以配置为使用 STM32 I²S、SPI、DFSDM 或 SAI 外设进行数字 PDM 采集。
所以我的建议是从X-CUBE-MEMSMIC1 扩展包开始,在ProjectsSTM32F401RE-NucleoDemonstrationCCA02M2文件夹中存在一个将 STM32F401RE-Nucleo 与 X-NUCLEO-CCA02M2 结合的示例。
特别是,您可以在(附件)中找到详细信息。
NUCLEO-F401RE 板使用 I2S(或 SPI)接口,但也提供 DFSDM 或 SAI 外设。



  • SPI 代码和定义



  • static void I2S_MspInit(I2S_HandleTypeDef *hi2s)
  • {      
  •   UNUSED(hi2s);
  •   GPIO_InitTypeDef  GPIO_InitStruct;
  •   
  •   /* Enable the I2S2 peripheral clock */
  •   AUDIO_IN_I2S_CLK_ENABLE();  
  •   /* Enable I2S GPIO clocks */
  •   AUDIO_IN_I2S_SCK_GPIO_CLK_ENABLE();
  •   AUDIO_IN_I2S_MOSI_GPIO_CLK_ENABLE();
  •   
  •   /* I2S2 pins configuration: SCK and MOSI pins ------------------------------*/
  •   GPIO_InitStruct.Mode      = GPIO_MODE_AF_PP;
  •   GPIO_InitStruct.Pull      = GPIO_PULLUP;
  •   GPIO_InitStruct.Speed     = GPIO_SPEED_FAST;
  •   
  •   GPIO_InitStruct.Pin       = AUDIO_IN_I2S_SCK_PIN;
  •   GPIO_InitStruct.Alternate = AUDIO_IN_I2S_SCK_AF;
  •   HAL_GPIO_Init(AUDIO_IN_I2S_SCK_GPIO_PORT, &GPIO_InitStruct);
  •   
  •   GPIO_InitStruct.Pin       = AUDIO_IN_I2S_MOSI_PIN ;
  •   GPIO_InitStruct.Alternate = AUDIO_IN_I2S_MOSI_AF;
  •   HAL_GPIO_Init(AUDIO_IN_I2S_MOSI_GPIO_PORT, &GPIO_InitStruct);
  •   
  • }

具体来说,AUDIO_IN_I2S_SCK_PIN 和 AUDIO_IN_I2S_MOSI_PIN 是硬件定义如下(在 morpho 连接器上):


  • #define AUDIO_IN_I2S_SCK_PIN                                     GPIO_PIN_13
  • #define AUDIO_IN_I2S_MOSI_PIN                                    GPIO_PIN_15




  • DFSDM 引脚定义(.h 文件)



  • /* CKOUT for all mics (GPIOC_PIN_2)*/                                                           
  • #define AUDIO_DFSDMx_CKOUT_PIN                       GPIO_PIN_2
  • #define AUDIO_DFSDMx_CKOUT_AF                        GPIO_AF6_DFSDM
  • #define AUDIO_DFSDMx_CKOUT_GPIO_PORT                 GPIOC
  • #define AUDIO_DFSDMx_CKOUT_GPIO_CLK_ENABLE()         __HAL_RCC_GPIOC_CLK_ENABLE()

  • /* DATIN for MIC1 */
  • #define AUDIO_DFSDMx_DATIN_MIC1_PIN                  GPIO_PIN_14
  • #define AUDIO_DFSDMx_DATIN_MIC1_AF                   GPIO_AF6_DFSDM
  • #define AUDIO_DFSDMx_DATIN_MIC1_GPIO_PORT            GPIOB
  • #define AUDIO_DFSDMx_DATIN_MIC1_GPIO_CLK_ENABLE()    __HAL_RCC_GPIOB_CLK_ENABLE()
举报

更多回帖

发帖
×
20
完善资料,
赚取积分