fanchenxinok 发表于 2022-7-5 13:18

AC78013FCLA芯片: 硬件I2C作为slave dma模式通信异常的坑

本帖最后由 fanchenxinok 于 2022-7-5 13:20 编辑

芯片是autochips的AC78013FCLA, 硬件I2C作为slave端和master通信 ,在系统上电的时候主机会发3个字节命令,从机回两个30个字节,这个过程重复执行三次。三次通信过程有1%的概率通信失败,主机收不到从机的ACK。原来波形会有点干扰,后面加了滤波电容,测试了波形也满足I2C保持时间的要求,但是还是有几率出现通信超时失败。现在只能怀疑芯片的I2C硬件有坑了。通信失败时打印的status0的状态经常是0x6c或0xed。

chenqianqian 发表于 2022-7-5 20:35

听说硬件IIC不好用?

saservice 发表于 2022-7-8 09:36

是通信的速度太快了吗   

updownq 发表于 2022-7-8 15:37

这个硬件iic应该问题不大。

yeates333 发表于 2022-7-8 16:03

为什么不使用串口呢

bestwell 发表于 2022-7-8 16:43

这个收不到应答吗   

fanchenxinok 发表于 2022-7-8 16:58

saservice 发表于 2022-7-8 09:36
是通信的速度太快了吗

速度不到100K, 75K左右

fanchenxinok 发表于 2022-7-8 17:01

bestwell 发表于 2022-7-8 16:43
这个收不到应答吗

发送的时候,从机端DMA发送完毕的中断没有触发,发送超时,主机端linux kernel会打印ACK error的log。应该是主机在读的时候发送从机地址没有得到从机的应答。

fanchenxinok 发表于 2022-7-8 17:02

updownq 发表于 2022-7-8 15:37
这个硬件iic应该问题不大。
开启定时器监控I2C status0寄存器 时不时就会出现0x6c和0xed的异常状态,都没有进行通信 正常状态应该是0x08才对。说明硬件I2C的状态机很不稳定啊。

belindagraham 发表于 2022-7-9 12:17

感觉硬件iic不好用呢

pixhw 发表于 2022-7-9 13:13

看看主程序有没有判断是否成功呢

chenci2013 发表于 2022-7-9 20:32

这个iic地址如何判断的   

isseed 发表于 2022-7-10 14:29

硬件I2C做从机,如何快速相应?   

fanchenxinok 发表于 2022-7-11 13:19

chenci2013 发表于 2022-7-9 20:32
这个iic地址如何判断的

主机也是硬件i2c

guijial511 发表于 2022-7-11 20:43

谢谢楼主分享避坑经验,哈哈。

yangxiaor520 发表于 2022-7-12 08:38

哈哈,楼主淡定啊!

fanchenxinok 发表于 2022-7-12 10:26

pixhw 发表于 2022-7-9 13:13
看看主程序有没有判断是否成功呢

master端不是我们产品 没法分析

fanchenxinok 发表于 2022-7-13 11:47

有没有人遇到同样问题的?

huquanz711 发表于 2022-7-13 18:24

看来不敢轻易用硬件IIC啊!

tpgf 发表于 2022-8-1 10:25

我还是比较喜欢自己模拟iic
页: [1] 2 3
查看完整版本: AC78013FCLA芯片: 硬件I2C作为slave dma模式通信异常的坑