找回密码
 注册
关于网站域名变更的通知
12
返回列表 发新帖
楼主: zsuhh
打印 上一主题 下一主题

请问一个I2C的问题

[复制链接]

该用户从未签到

16#
发表于 2014-6-10 09:37 | 只看该作者
fallen 发表于 2014-6-10 09:33
4 ]# `1 u$ K4 [3 `# I, k9 y这些都是我经历过的,我很深刻。你说的合适的上拉,这个是很基础的问题。发生问题后,我们修改了上拉,修 ...

. r, D0 Q% a) X6 _4 `5 Q: P& q我不是怀疑你的描述,是觉得这个现象不正常,有深究的必要。
* i% W# `# Y; x0 L# ~6 C. o! z很可能是时序配置有问题。

该用户从未签到

17#
发表于 2014-6-10 09:51 | 只看该作者
本帖最后由 fallen 于 2014-6-10 10:30 编辑 2 C$ L) U, u8 W- {& p
djxf 发表于 2014-6-10 09:37
3 e& w- S" m/ Z. N7 J! s. y& W8 }我不是怀疑你的描述,是觉得这个现象不正常,有深究的必要。" @$ k% I2 n$ b- Q. Z; b, a
很可能是时序配置有问题。
+ @( g4 B6 G: w  g% M4 U4 l- }# N
1 E* _, k0 m$ a8 x" l6 R: C
深究估计就是无解。0 R# x" G, ~2 f1 |. O
对于1  加密IC跟DEMOD之类的相连,很多情况下都不行------所以大家都开始分开给I2C。6 |7 m, I6 }/ U
对于2  软件调试了很长时间,后来发现初始化的时候调整一下顺序就可以了-------这个暂且相信软件的实力吧。8 e1 H' H, X4 \) k

该用户从未签到

18#
发表于 2014-6-10 10:22 | 只看该作者
fallen 发表于 2014-6-10 09:510 D- j7 j& A& A/ k
深究估计就是无解。
/ U* i! L# a) P# X6 g& o# L对于1  加密IC跟DEMOD之类的相连,很多情况下都不行------所以大家都开始分开给I2C ...
) W% U6 u3 W' Z! ]! t- T6 A
我用过micrel和neowine的加密芯片(深圳也有加密芯片,但我没试过),没有遇到过硬件上解决不了的问题。. e# ~2 N2 z; a
软件有个还算有经验的小伙曾经花了一个月调试neowine的加密芯片没有调好,找了原厂的FAE也没解决,后来耍聪明把加密芯片跳过去了,这事我很久以后才知道。随便找了个软件(因为我当时对那个平台的软件架构不熟悉),我跟他一起调,两个小时就搞定了,除非芯片本身有问题(我选器件会比较慎重,独家的尽量不选,如果必须选,会先尽量多了解和测试),我遇到过很多难解的问题(有些甚至搞得焦头烂额)但还没遇到过无解的问题,只要有心就一定有解。

该用户从未签到

19#
发表于 2014-6-10 10:30 | 只看该作者
djxf 发表于 2014-6-10 10:22
$ O3 T' G! [* `+ H1 \' H, l) n我用过micrel和neowine的加密芯片(深圳也有加密芯片,但我没试过),没有遇到过硬件上解决不了的问题。
3 _8 y9 Y5 W, ?2 s4 u ...

. l+ R' ]' w! n, H" X因为我还没有达到你的水平。

该用户从未签到

20#
发表于 2014-6-10 10:31 | 只看该作者
djxf 发表于 2014-6-10 10:22
& ?( h/ b# O. o. C$ D! `# {* G0 l我用过micrel和neowine的加密芯片(深圳也有加密芯片,但我没试过),没有遇到过硬件上解决不了的问题。: O0 M* o) ^+ f4 P4 v
...
0 U8 \) j8 \2 _9 J1 D! W
那你可以分享一下,你是如何解决的吗?越详细越好

该用户从未签到

21#
发表于 2014-6-10 11:12 | 只看该作者
本帖最后由 djxf 于 2014-6-10 11:19 编辑 ' X! E3 ?- u1 O* i. P
fallen 发表于 2014-6-10 10:31
4 M4 R6 E  Q/ b, w5 a/ m6 M$ |那你可以分享一下,你是如何解决的吗?越详细越好
8 k% F% Z) E/ d7 J# j3 E$ g% t3 V) q

3 t4 U& M7 K1 D4 r做硬件好像没啥敲门,数字电路无非是,逻辑正确、电平和时序匹配、驱动能力足够、信号质量满足要求。
7 X; t3 K! S2 H2 n7 q0 P所以有人说数字电路玩的是时序,射频电路玩的是电磁场(这是宏观角度看,从微观看可能是量子力学或弦理论或其他什么理论,反正我没搞懂过。电磁场也是,很多也没搞明白,虽然看起来只有那么几个微/积分方程和物质方程)。
, o" c% ~4 y, ~: s; j
# n' c8 [( [+ T8 H# J7 j, y像之前遇到的I2C问题,首先检查硬件有没有问题(逻辑正确,电平匹配,驱动能力是否合适,时序很简单都不需要计算),其次就是看管脚配置是否正确(读写高低电平是否正常,顺带检查是否有虚焊短路等硬件问题)、上电及初始化是否符合要求、时序是否正常(从上电和初始化就挂示波器监控,顺带看看电平、驱动能力和信号质量,但一般来说这种低速信号的信号质量不会有太大问题,即使有过冲之类的,调整时序避开就好了,或者调整管脚的驱动能力比如驱动电流等尽量改善),到此基本就知道问题出在哪里了,剩下的就是不断调整时序(先放宽再收紧到合适的位置,兼顾速度和可靠性),当然,还需要一些耐心。。。
3 c2 `2 h4 D; z9 i% f3 {1 ]7 \
- o5 |9 {. z* x多啰嗦一句,说到时序大家更多想到的是信号之间的读写时序,但往往忽略地、电源和信号之间的上/下电时序要求,有可能电路设计有问题,一上电或者掉电后再上电就导致芯片状态异常甚至出现栓锁了。

该用户从未签到

22#
发表于 2014-6-10 11:36 | 只看该作者
djxf 发表于 2014-6-10 11:12
. D, |' w) K) b, B做硬件好像没啥敲门,数字电路无非是,逻辑正确、电平和时序匹配、驱动能力足够、信号质量满足要求。" V! f8 ^, Y8 p
...

- d6 z; h7 a( k. E5 r6 G( \非常感谢前辈的经验分享。
. K8 O' o( {7 D# q; [1 b* A% ]但是这些都是解决问题的基本方法。当你尝试这些方法解决问题未果的时候,就是头痛的时候了。
2 S* g# ]4 N$ B$ u+ ?7 e- ]  d; f1 u3 [  z, T0 J

该用户从未签到

23#
发表于 2014-10-11 14:59 | 只看该作者
djxf 发表于 2014-6-9 19:38; ]' U- x7 l( g/ E! d
为什么在master软复位而slave没有复位的情况下会导致I2C总线挂死?I2C接口一般是OC门或者OD门啊?  S6 _9 k% }8 {8 v
如果 ...
: H  R7 i/ W2 {, U- D* d8 A
IIC总线hung up是因为master软复位时,slaver并没有复位,而且没收到master给的ack信号,导致slaver不释放IIC总线(这种现象只有可能发生在read时序)。另外,任何芯片如果没有正确复位的话,它的全部功能都基本不可用,所以你说的slaver在上电时就没有正确复位这一说法,似乎不能成立,因为slaver的其他功能是work的。IIC总线的挂死是它本身协议的issue,所以建议你对比一下IIC和SMBUS协议的区别,或许就会知道为什么IIC会挂死,而SNBUS不会出现这样的情况。
1 |' Y6 ~7 {' ^3 ]$ s  U1 O好久没来了,希望能和大家一起学习。。。3 `# ?8 |9 @7 ~! F- M' a
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-19 16:14 , Processed in 0.140625 second(s), 20 queries , Gzip On.

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

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

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