找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
12
返回列表 发新帖
楼主: zsuhh
打印 上一主题 下一主题

请问一个I2C的问题

[复制链接]

0

主题

84

帖子

666

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
666
16#
发表于 2014-6-10 09:37 | 只看该作者
fallen 发表于 2014-6-10 09:33
# i  e+ Y7 O* J$ D9 Y' u这些都是我经历过的,我很深刻。你说的合适的上拉,这个是很基础的问题。发生问题后,我们修改了上拉,修 ...

9 w& P# A2 o8 @" B+ v4 f9 `我不是怀疑你的描述,是觉得这个现象不正常,有深究的必要。
" p8 r; z, j- i5 \: i很可能是时序配置有问题。

8

主题

2339

帖子

5400

积分

EDA365版主(50)

Rank: 5

积分
5400
17#
发表于 2014-6-10 09:51 | 只看该作者
本帖最后由 fallen 于 2014-6-10 10:30 编辑 6 o, J( b4 l& n$ F8 K" b
djxf 发表于 2014-6-10 09:373 _; N# |- [1 [- }) V( y4 t
我不是怀疑你的描述,是觉得这个现象不正常,有深究的必要。9 c! g7 s1 z, x+ q* Q5 Y
很可能是时序配置有问题。
* H: \! x* G! v, w; A
0 R9 Z% E& k! i- z
深究估计就是无解。6 |$ t! S; X9 q* v! X
对于1  加密IC跟DEMOD之类的相连,很多情况下都不行------所以大家都开始分开给I2C。
0 c6 w: ^4 a2 p对于2  软件调试了很长时间,后来发现初始化的时候调整一下顺序就可以了-------这个暂且相信软件的实力吧。# L6 T. l" _$ n  B# H' |: x

0

主题

84

帖子

666

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
666
18#
发表于 2014-6-10 10:22 | 只看该作者
fallen 发表于 2014-6-10 09:51, p! J- V0 T6 U! s4 n6 f  y3 @
深究估计就是无解。3 A( p7 l! d: i) E: a
对于1  加密IC跟DEMOD之类的相连,很多情况下都不行------所以大家都开始分开给I2C ...
+ I" G" G* }+ W" ]# P
我用过micrel和neowine的加密芯片(深圳也有加密芯片,但我没试过),没有遇到过硬件上解决不了的问题。  e( n; L4 }  f! [+ i
软件有个还算有经验的小伙曾经花了一个月调试neowine的加密芯片没有调好,找了原厂的FAE也没解决,后来耍聪明把加密芯片跳过去了,这事我很久以后才知道。随便找了个软件(因为我当时对那个平台的软件架构不熟悉),我跟他一起调,两个小时就搞定了,除非芯片本身有问题(我选器件会比较慎重,独家的尽量不选,如果必须选,会先尽量多了解和测试),我遇到过很多难解的问题(有些甚至搞得焦头烂额)但还没遇到过无解的问题,只要有心就一定有解。

8

主题

2339

帖子

5400

积分

EDA365版主(50)

Rank: 5

积分
5400
19#
发表于 2014-6-10 10:30 | 只看该作者
djxf 发表于 2014-6-10 10:226 s2 M0 H$ q* F( [1 R) S
我用过micrel和neowine的加密芯片(深圳也有加密芯片,但我没试过),没有遇到过硬件上解决不了的问题。+ f7 Z3 x! A" @% P: H: G
...
! G" [4 J  @+ G$ r
因为我还没有达到你的水平。

8

主题

2339

帖子

5400

积分

EDA365版主(50)

Rank: 5

积分
5400
20#
发表于 2014-6-10 10:31 | 只看该作者
djxf 发表于 2014-6-10 10:22
2 Q0 S' f8 Q, i! T0 \/ Y我用过micrel和neowine的加密芯片(深圳也有加密芯片,但我没试过),没有遇到过硬件上解决不了的问题。  X2 L! `6 ]' \3 R+ B7 c
...
. L$ p  s# k( H8 T/ F
那你可以分享一下,你是如何解决的吗?越详细越好

0

主题

84

帖子

666

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
666
21#
发表于 2014-6-10 11:12 | 只看该作者
本帖最后由 djxf 于 2014-6-10 11:19 编辑 2 G& j! [7 b7 X% o
fallen 发表于 2014-6-10 10:31, Q6 _) p- _! y. M, c$ X% t! B4 ^
那你可以分享一下,你是如何解决的吗?越详细越好
! z8 q1 Q! v+ M) M

3 @" k  f7 K( d9 l. r做硬件好像没啥敲门,数字电路无非是,逻辑正确、电平和时序匹配、驱动能力足够、信号质量满足要求。
0 `7 v# t- _  ^6 R7 b所以有人说数字电路玩的是时序,射频电路玩的是电磁场(这是宏观角度看,从微观看可能是量子力学或弦理论或其他什么理论,反正我没搞懂过。电磁场也是,很多也没搞明白,虽然看起来只有那么几个微/积分方程和物质方程)。
  B8 j7 }1 J( j  B! |: J; [2 w7 x- k% a. o" H  e
像之前遇到的I2C问题,首先检查硬件有没有问题(逻辑正确,电平匹配,驱动能力是否合适,时序很简单都不需要计算),其次就是看管脚配置是否正确(读写高低电平是否正常,顺带检查是否有虚焊短路等硬件问题)、上电及初始化是否符合要求、时序是否正常(从上电和初始化就挂示波器监控,顺带看看电平、驱动能力和信号质量,但一般来说这种低速信号的信号质量不会有太大问题,即使有过冲之类的,调整时序避开就好了,或者调整管脚的驱动能力比如驱动电流等尽量改善),到此基本就知道问题出在哪里了,剩下的就是不断调整时序(先放宽再收紧到合适的位置,兼顾速度和可靠性),当然,还需要一些耐心。。。
6 c0 M! _' C9 F, l9 q; v. ]
( ?8 R& s$ Q' t3 _8 d多啰嗦一句,说到时序大家更多想到的是信号之间的读写时序,但往往忽略地、电源和信号之间的上/下电时序要求,有可能电路设计有问题,一上电或者掉电后再上电就导致芯片状态异常甚至出现栓锁了。

8

主题

2339

帖子

5400

积分

EDA365版主(50)

Rank: 5

积分
5400
22#
发表于 2014-6-10 11:36 | 只看该作者
djxf 发表于 2014-6-10 11:127 G  ~0 U7 B* N5 w* N& `6 J
做硬件好像没啥敲门,数字电路无非是,逻辑正确、电平和时序匹配、驱动能力足够、信号质量满足要求。
) ^5 U0 N, X3 o0 u0 d( O$ ~ ...
' J2 V" w" u  w+ k
非常感谢前辈的经验分享。
. u; @1 ?6 L% L% Y8 `3 w但是这些都是解决问题的基本方法。当你尝试这些方法解决问题未果的时候,就是头痛的时候了。
+ @* y0 u) _9 R. N3 d7 i) }& e8 }+ Z6 Z9 ]% N

1

主题

38

帖子

705

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
705
23#
发表于 2014-10-11 14:59 | 只看该作者
djxf 发表于 2014-6-9 19:38
# y: D) b* d: I. z8 W% L( t" N为什么在master软复位而slave没有复位的情况下会导致I2C总线挂死?I2C接口一般是OC门或者OD门啊?' \. L- i+ ?/ w0 i, x! P# {! v: I3 [
如果 ...
+ }! c/ u2 j% G* G& b
IIC总线hung up是因为master软复位时,slaver并没有复位,而且没收到master给的ack信号,导致slaver不释放IIC总线(这种现象只有可能发生在read时序)。另外,任何芯片如果没有正确复位的话,它的全部功能都基本不可用,所以你说的slaver在上电时就没有正确复位这一说法,似乎不能成立,因为slaver的其他功能是work的。IIC总线的挂死是它本身协议的issue,所以建议你对比一下IIC和SMBUS协议的区别,或许就会知道为什么IIC会挂死,而SNBUS不会出现这样的情况。$ F/ H8 \/ J! ]& U! w- F
好久没来了,希望能和大家一起学习。。。" w; l$ g8 P& {) b4 y
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-27 05:58 , Processed in 0.061659 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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