打印
[STM8]

STM8S103K使用I2C通信经常出错

[复制链接]
6745|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
103K作为从属, 另外一块CPU作为主控,

时钟频率大概200HZ

在103K这边经常会收到错误的地址

但使用逻辑分析仪看波形是正确的

可能是哪里出错了呢?
沙发
zwll| | 2010-6-22 20:27 | 只看该作者
分析仪看波形是正确的?!

使用特权

评论回复
板凳
roalychen|  楼主 | 2010-6-23 08:23 | 只看该作者
哦,应该说分析仪看到传输数据是正确的,但103K接收到就是认为是错误的

使用特权

评论回复
地板
ST_ARM| | 2010-6-23 09:26 | 只看该作者
你确定逻辑分析仪看到的波形里,Ack、NAck信号也是正确的?

使用特权

评论回复
5
gxgclg| | 2010-6-23 09:48 | 只看该作者
把你的波形截个图看下

使用特权

评论回复
6
roalychen|  楼主 | 2010-6-24 12:28 | 只看该作者


波形是这样的,传输的确实是0XCC
103K却认为错了,返回个NACK

另外, 我连到24C01,同样的程序却是一直不会出错

哪位大虾指点下, 感谢感谢!!

使用特权

评论回复
7
香水城| | 2010-6-24 13:27 | 只看该作者
逻辑分析仪不能看到信号的上升下降沿,应该用示波器看。

使用特权

评论回复
8
roalychen|  楼主 | 2010-6-24 14:20 | 只看该作者
7# 香水城

是这个理儿, 可是手边示波器只有一个通道能用

不过问题是为什么24C01一直不会错呢?

24C01跟103K的I2C有什么不同呢??

使用特权

评论回复
9
香水城| | 2010-6-24 14:30 | 只看该作者
你最好看看那些时序是否满足STM8S103数据手册上的要求:

STM8S103_I2C_Timing.GIF (34.28 KB )

STM8S103_I2C_Timing.GIF

使用特权

评论回复
10
roalychen|  楼主 | 2010-6-24 15:07 | 只看该作者
本帖最后由 roalychen 于 2010-6-24 15:10 编辑

这些数据我看看怎么来验证

不过现在发现就是如果把I2C模块的输入时钟频率降低, 出错概率会变小,

比如直接把CLK_CKDIVR使用复位值, HSI就只有2M, 这样出错的机会就小很多

如果使用HSI为16M, 出错机会会多很多, 但我还是希望用16M的

这样能不能推测是哪里的问题呢?

使用特权

评论回复
11
roalychen|  楼主 | 2010-6-25 11:03 | 只看该作者

时钟线下降沿


时钟线上升沿


数据线下降沿


数据线上升沿

数据线很不正常,加100p电容下地也还是一样
不知道该怎么弄

使用特权

评论回复
12
roalychen|  楼主 | 2010-6-26 11:54 | 只看该作者
哎, 都没人理啊

STM8S的I2C模块是标准I2C吗??怎么调都不行啊~~~~

使用特权

评论回复
13
香水城| | 2010-6-28 09:59 | 只看该作者
你的数据线怎么这么嘈杂?

使用特权

评论回复
14
roalychen|  楼主 | 2010-6-28 10:13 | 只看该作者
13# 香水城

是啊,都不知道怎么来的躁声, 把103K断开也就没有了
但是, 有1颗一直不出错的103K上面也是一样的嘈杂

另外问下斑竹, 103K的I2C是按标准I2C去操作就可以吗?还是有什么不同的地方?

使用特权

评论回复
15
香水城| | 2010-6-28 10:15 | 只看该作者
103K的I2C是按标准I2C去操作,没有特别之处。

使用特权

评论回复
16
roalychen|  楼主 | 2010-6-28 14:14 | 只看该作者
斑竹能不能提供个103K作为I2C从机的程序参考下?

使用特权

评论回复
17
香水城| | 2010-6-28 14:32 | 只看该作者
STM8固件库中有2个STM8通过I2C互相通信的例子,一个STM8做主,另一个STM8做从。

使用特权

评论回复
18
roalychen|  楼主 | 2010-6-30 15:15 | 只看该作者
主/从机都用STM8S103K的话,出错几率是比较低的

波形也没有那些杂七杂八的东西

但是我主机是使用瑞萨的,就经常出错了

使用特权

评论回复
19
ST_ARM| | 2010-6-30 16:44 | 只看该作者
主机是使用瑞萨的,瑞萨的输出信号有没有可能有问题?
11楼的杂波是从哪里来的?是STM8产生的,还是瑞萨的导致的?
楼主要好好查查一查。

使用特权

评论回复
20
roalychen|  楼主 | 2010-7-1 09:05 | 只看该作者
本帖最后由 roalychen 于 2010-7-1 09:45 编辑

瑞萨跟103K断开来测量波形, 量到的波形是干干净净的

而即使把103K设置成输入端口, 波形还是那样的杂波, 每个上升沿都有

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

227

帖子

0

粉丝