2

主题

0

好友

446

积分
     

业余侠客 当前离线

Rank: 4

UID
528501
帖子
451
精华
0
经验
446 点
金钱
440 ¥
注册时间
2012-9-15
发表于 2019-1-13 14:46 | 显示全部楼层
我觉得问题还是出在读引脚上。PCM1792的应答ACK信号是有时限的,不会持续拉低。

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 14:51 | 显示全部楼层
ylc358 发表于 2019-1-13 14:41
你用的哪家的单片机?

新唐n76e

2

主题

0

好友

446

积分
     

业余侠客 当前离线

Rank: 4

UID
528501
帖子
451
精华
0
经验
446 点
金钱
440 ¥
注册时间
2012-9-15
发表于 2019-1-13 15:24 | 显示全部楼层
如果用的是芯片自带的I2C接口,试试把I2C的频率配置低一点。上接电阻4.7~10K范围比较合适。

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 15:49 | 显示全部楼层
本帖最后由 cnwit 于 2019-1-13 15:50 编辑
ylc358 发表于 2019-1-13 15:24
如果用的是芯片自带的I2C接口,试试把I2C的频率配置低一点。上接电阻4.7~10K范围比较合适。


我已经把scl频率设置成50K到256K都试了,也不行,上拉原来是10K,后来听一位大师的,设置成1.3K,他让我设置成390,我觉得太低了

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
发表于 2019-1-13 15:53 | 显示全部楼层
本帖最后由 BH7KQK 于 2019-1-13 15:54 编辑
ylc358 发表于 2019-1-13 15:24
如果用的是芯片自带的I2C接口,试试把I2C的频率配置低一点。上接电阻4.7~10K范围比较合适。


嗯,会玩单片机的人都知道4.7~10K这个范围。

2

主题

0

好友

446

积分
     

业余侠客 当前离线

Rank: 4

UID
528501
帖子
451
精华
0
经验
446 点
金钱
440 ¥
注册时间
2012-9-15
发表于 2019-1-13 16:02 | 显示全部楼层
反正都这样了,试试用I/O口模拟I2C看行不。我做过DSD1794A,用I/O模拟I2C是可以的。

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 16:17 | 显示全部楼层
ylc358 发表于 2019-1-13 16:02
反正都这样了,试试用I/O口模拟I2C看行不。我做过DSD1794A,用I/O模拟I2C是可以的。


我用模拟spi试过,也没反应,我采集的I2c波形符合PCM1792的规范

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 16:19 | 显示全部楼层
ylc358 发表于 2019-1-13 16:02
反正都这样了,试试用I/O口模拟I2C看行不。我做过DSD1794A,用I/O模拟I2C是可以的。

我想要么这些1792是次品

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
发表于 2019-1-13 17:15 | 显示全部楼层
cnwit 发表于 2019-1-13 16:19
我想要么这些1792是次品

有多的板子吗?寄块过来我试试,会还的。。。

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 18:33 | 显示全部楼层
BH7KQK 发表于 2019-1-13 17:15
有多的板子吗?寄块过来我试试,会还的。。。

板子自己焊接的,pcm1792淘宝买的

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 18:35 | 显示全部楼层
ylc358 发表于 2019-1-13 14:46
我觉得问题还是出在读引脚上。PCM1792的应答ACK信号是有时限的,不会持续拉低。

51上SDA是open-drain   pcm1792 上SDA 也是open-drain  两边一样有问题吗?

66

主题

44

好友

1万

积分
     

贵宾 当前在线

Rank: 3Rank: 3

UID
111707
帖子
12352
精华
3
经验
12763 点
金钱
12223 ¥
注册时间
2009-6-14

社区贡献 论坛贵宾

发表于 2019-1-13 18:40 | 显示全部楼层
本帖最后由 jacksl528 于 2019-1-13 18:45 编辑
cnwit 发表于 2019-1-13 15:49
我已经把scl频率设置成50K到256K都试了,也不行,上拉原来是10K,后来听一位大师的,设置成1.3K,他让我设置 ...



上拉电阻是为总线驱动能力不足时提供驱动电流的。

上拉电阻 1K-4.7K 最好,你做的是单片机驱动PCM1792 多看看PDF 总会找到一些意想不到的答案。,一般在3-5ma  太大的上拉电阻会产生 RC频移, 上拉电阻越大 频移越大。   

不过无所谓,无异于去纠结这个问题了。  你取10K  100K 都行

因为你的问题并不是出在这里

2

主题

0

好友

446

积分
     

业余侠客 当前离线

Rank: 4

UID
528501
帖子
451
精华
0
经验
446 点
金钱
440 ¥
注册时间
2012-9-15
发表于 2019-1-13 18:50 | 显示全部楼层
cnwit 发表于 2019-1-13 18:35
51上SDA是open-drain   pcm1792 上SDA 也是open-drain  两边一样有问题吗?

必须是这样。其实像对PCM1972这样的简单控制,用I/O口模拟I2C总线,程序还简单一些。看了一下N76E的DATASHEET,I2C简单用一下配置起来挺繁的。

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
发表于 2019-1-13 19:20 | 显示全部楼层
ylc358 发表于 2019-1-13 18:50
必须是这样。其实像对PCM1972这样的简单控制,用I/O口模拟I2C总线,程序还简单一些。看了一下N76E的DATAS ...

并不是这么说,如果只是配置功还好。要用到音量调整的话,还是硬件I2C方便,不会占用太多CPU时间。

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 19:38 | 显示全部楼层
jacksl528 发表于 2019-1-13 18:40
上拉电阻是为总线驱动能力不足时提供驱动电流的。

上拉电阻 1K-4.7K 最好,你做的是单片机驱动PCM ...

所以,我觉得上拉电阻一般6k-10k都没问题,现在pcm1792就是一点也没反应,上电就能发声,1,2也是zero detect ,不像是pcm1794打磨的

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 19:41 | 显示全部楼层
jacksl528 发表于 2019-1-13 18:40
上拉电阻是为总线驱动能力不足时提供驱动电流的。

上拉电阻 1K-4.7K 最好,你做的是单片机驱动PCM ...

pcm1792的数据表看了好多遍,太简单I2c设置,无法再调试

66

主题

44

好友

1万

积分
     

贵宾 当前在线

Rank: 3Rank: 3

UID
111707
帖子
12352
精华
3
经验
12763 点
金钱
12223 ¥
注册时间
2009-6-14

社区贡献 论坛贵宾

发表于 2019-1-13 19:55 | 显示全部楼层
cnwit 发表于 2019-1-13 19:41
pcm1792的数据表看了好多遍,太简单I2c设置,无法再调试

首先PCM1792采用I2C通信 是肯定没有问题的,  

你可以用翻译软件打开这个网站,看看对你的调试有没有帮助。

https://qiita.com/Takumi8686/items/343dd373acb9d28ab22c

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 20:51 | 显示全部楼层
jacksl528 发表于 2019-1-13 19:55
首先PCM1792采用I2C通信 是肯定没有问题的,  

你可以用翻译软件打开这个网站,看看对你的调试有没有 ...

谢谢!日文,要是英文就好了

点评

它正好是讲到 PCM1792 用I2C时 遇到的一些问题, 你看看对你又没有帮助吧  发表于 2019-1-13 20:53

5

主题

0

好友

102

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
838295
帖子
98
精华
0
经验
102 点
金钱
92 ¥
注册时间
2017-9-16
 楼主| 发表于 2019-1-13 21:26 | 显示全部楼层
jacksl528 发表于 2019-1-13 19:55
首先PCM1792采用I2C通信 是肯定没有问题的,  

你可以用翻译软件打开这个网站,看看对你的调试有没有 ...

太感谢了!陷阱!!,必须要I2s输入的情况下才能反应,我要在这里感谢大家的帮助,以后大家碰到这个问题的时候要注意这点,少走弯路.

点评

我就知道,往往就是一些简单的问题,会让你绕一大圈,再绕回来。  发表于 2019-1-13 21:29

95

主题

5

好友

1179

积分
     

侠之大者 当前离线

论坛傻逼多

Rank: 6Rank: 6

UID
577648
帖子
1089
精华
0
经验
1179 点
金钱
958 ¥
注册时间
2013-3-26
发表于 2019-1-13 21:43 | 显示全部楼层
楼主是想说单片机没时钟不跑吗(1792)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部