OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9109|回复: 14

求助:参考STM32F4xx Discovery I2S例程库版本1.0.0 I2S2_SD数据口读到数据一直为0。

[复制链接]

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
发表于 2015-6-4 19:34:18 | 显示全部楼层 |阅读模式
5金钱

目标:得到64倍采样16KHz输出的音频数据
现象:参考STM32F4xx Discovery I2S例程库版本1.0.0 I2S2_SD数据口读到数据一直为0。
问题:
1. 为什么I2S2_CK 输出1.024MHz的时钟,数据口依然只能读到0?

描述:
                           


                                                                                     图1

根据图1可得:                            
I2S BitRate = 通道数 x 采样数据宽度 x 采样频率 = 1 × 16 × 64 = 1.024MHz
在这个手册第10页可以看到 1.024MHz的解释:


图2
出自: http://www.st.com/web/en/resource/technical/document/application_note/DM00040802.pdf


系统初始化的时候

HSE_Frequency = 16 MHz

PLL_M = 16
PLLI2S_N = 258
PLLI2S_R = 3
可以得到一个86MHz的内部I2S 时钟输入,

  I2S_InitStructure.I2S_AudioFreq = 32000; 
  I2S_InitStructure.I2S_Standard = I2S_Standard_LSB;
  I2S_InitStructure.I2S_DataFormat = I2S_DataFormat_16b;
  I2S_InitStructure.I2S_CPOL = I2S_CPOL_High;
  I2S_InitStructure.I2S_Mode = I2S_Mode_MasterRx;
  I2S_InitStructure.I2S_MCLKOutput = I2S_MCLKOutput_Disable;

用示波器检测 I2S 复用单片机的时钟引脚【SPI2_SCK】可以检测到1.024MHz的时钟输出,但是数据口读出来的全部是 0.

于是我尝试做以下挣扎。。。。。。


图3
根据图3计算公式: Fs = I2SxCLK / [(16*2)*((2*I2SDIV)+ODD))] ------>当是16bit数据宽度的时候
                             Fs = 86 MHz / [(16*2)*((2*42)+0))] = 0.031994MHz = 32KHz
                                      此处与初始化I2S时设置的采样率基本一致。




咪头的主要信息以及配置:
 SELECT 直接 接 GND




最终得到如下波形:
I2S2_SD = 0;     I2S2_CK = 1.024MHz




工程代码:

stm32f4xx audio platform.7z

2.51 MB, 下载次数: 1074

SPH0641LM4H-1.pdf

874.08 KB, 下载次数: 943

闷鱼闷闷不乐吃焖鱼
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-4 21:44:08 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-6-4 22:10:36 | 显示全部楼层
没用过硬件IIC,只能帮顶。。。
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2015-6-4 22:58:40 | 显示全部楼层
回复【3楼】八度空间:
---------------------------------
IIS ....
闷鱼闷闷不乐吃焖鱼
回复

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2015-6-4 23:00:15 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥 不管是战舰还是探索者都有类似的demo,里面都涉及到了I2S,能否看下我计算那个I2S时钟是否正确的?
闷鱼闷闷不乐吃焖鱼
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-6-5 00:10:03 | 显示全部楼层
回复【5楼】闷鱼:
---------------------------------
就是按官方给的公式计算啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-6-5 21:33:05 | 显示全部楼层
回复【4楼】闷鱼:
---------------------------------
探索者的音乐播放器不就是IIS的么
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2015-6-5 22:05:30 | 显示全部楼层
回复【7楼】八度空间:
------------------------------
是啊,今天出来波形了。。。
闷鱼闷闷不乐吃焖鱼
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-6-5 22:08:57 | 显示全部楼层
回复【8楼】闷鱼:
---------------------------------
你弄的什么东西
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2015-6-9 13:37:53 | 显示全部楼层
回复【9楼】八度空间:
---------------------------------
PDM音频信号采集--转换成PCM输出。
闷鱼闷闷不乐吃焖鱼
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-6-9 19:31:47 | 显示全部楼层
回复【10楼】闷鱼:
---------------------------------
哦,没弄过
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-12-6
在线时间
0 小时
发表于 2015-12-6 13:10:23 | 显示全部楼层
回复【5楼】闷鱼:
---------------------------------
请教  DM怎么转换成PCM
回复

使用道具 举报

6

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-15
在线时间
12 小时
发表于 2016-3-8 14:07:57 | 显示全部楼层
我用I2S,在逻辑分析仪上看到是有数据数据输出,但是我读出的数据也一直为0,想问你是怎么解决的?谢谢!
回复

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2016-3-12 03:07:28 | 显示全部楼层
zhexun 发表于 2016-3-8 14:07
我用I2S,在逻辑分析仪上看到是有数据数据输出,但是我读出的数据也一直为0,想问你是怎么解决的?谢谢!

都忘记了。。。有一段时间了
闷鱼闷闷不乐吃焖鱼
回复

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2016-5-15
在线时间
15 小时
发表于 2016-5-30 20:23:23 | 显示全部楼层
你好,我现在也在玩这个,但是我把采样率调高到48k,低通滤波的频率调到20k的时候,就不对了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 11:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表