大家好,我买了一个PDM mic麦克风模块,它和CC1350上面用的是同一个型号的。我把它用跳线连接到了CC1352 launchpad上面,使用了CC13x2 SDK,把CC1350上面的PDMStream 这个范例工程代码整个移植到了一个CC1352工程上,我做了一些必要的修改,比如在CC1352的设备文件里定义了I2S的管脚号,在.cmd文件里调整了堆的大小。I2S初始化看起来一切正常,但是开始采样后,就没有然后了。。。似乎永远无法采集到PCM数据
请问TI关于I2S的部分在CC1352上相较于CC1350做了修改吗?谢谢大家!
Viki Shi:
CC1350 跟CC1352在软硬件方面都有点区别,包括引脚定义等。建议对比两者数据手册进行移植
Jason Lee9:
回复 Viki Shi:
对于引脚technical ref 说的是你可以自由地映射到你想要的引脚,我在CC1352 board 文件里加入了如下一段代码
/* PDM driver hardware attributes */ const PDMCC26XX_HWAttrs pdmCC26XXHWAttrs[CC1350STK_PDMCOUNT] = {{.micPower = Board_MIC_POWER,.taskPriority = 2} }; /* PDM_I2S hardware attributes */ const PDMCC26XX_I2S_HWAttrs pdmC26XXI2SHWAttrs[CC1350STK_PDMCOUNT] = {{.baseAddr= I2S0_BASE,.intNum= INT_I2S_IRQ,.powerMngrId= PowerCC26XX_PERIPH_I2S,.intPriority= ~0,.mclkPin= PIN_UNASSIGNED,.bclkPin= Board_AUDIO_CLK,.wclkPin= PIN_UNASSIGNED,.ad0Pin= Board_AUDIO_DI,} }; /* Audio */ #define Board_MIC_POWERIOID_22 #define Board_MIC_POWER_ON1 #define Board_MIC_POWER_OFF0 #define Board_AUDIO_DIIOID_23 #define Board_AUDIO_CLKIOID_24英语e2e给我的答复是应该可以移植,不过谁也没有试过这么做
da qin zheng sheng:
回复 Jason Lee9:
用示波器测量一下i2s时钟波形正常不?
Viki Shi:
回复 Jason Lee9:
引脚是可以自由映射,主要是CC1350的引脚有些是CC1352没有的,这块要注意。建议参考CC1352 SDK里的PDM driver
Jason Lee9:
回复 da qin zheng sheng:
看起来是正常的,绿色时钟信号,黄色数据信号
Jason Lee9:
回复 Viki Shi:
PDMCC26XX.c/PDMCC26xx.h 这些driver里面没有定义引脚,引脚的定义是在CC1350.C/CC1350.h里完成的。既然Log_print0提示可以成功打开i2S interface,那就说明重新映射的引脚没有问题
而且似乎CC13x2 SDK和CC13x0 SDK里的PDM driver是一样的