打印

关于I2C模拟从机的是否可行与可行性方案研究

[复制链接]
楼主: peichao888
手机看帖
扫描二维码
随时随地手机跟帖
楼主
MK60| | 2013-12-29 12:09 | 显示全部楼层 回帖奖励 |倒序浏览
本帖最后由 MK60 于 2013-12-29 12:15 编辑

想实现I2C从机?楼主先把I2C协议彻底摸透吧。
“1.SCL的读写状态信息判断:在主机写时序中,比较容易,判断SCL的下降沿来读取SDA线上的信息。在主机读时序中,我分析必须要判断SCL的上升沿来发送SDA信息。所以,在无外置电路的情况下,MCU必须有上升沿中断这一功能。”
你第一个理解都是错误的,I2C总线接口是在SCK的下降沿写入SDA,而在SCL的上升沿读取SDA。
想把I2C协议摸透,此篇文档必看不可——《I2C总线技术精要》,只要看前面1~8页就够了,后面的不需要看。那里面的每一句话都不是多余的。
实现I2C从机至少需要2个以上中断,耗费的硬件资源不少。。。

使用特权

评论回复
沙发
MK60| | 2013-12-29 12:15 | 显示全部楼层
不要觉得看过I2C协议就了解I2C总线了,I2C协议文档里没有的《I2C总线技术精要》有,所有的I2C疑难问题在这篇文档里都能找到答案。

使用特权

评论回复
板凳
MK60| | 2013-12-29 12:32 | 显示全部楼层
以下内容摘自《I2C总线技术精要》:
★ 位传输    每传输一位信息就产生一个时钟脉冲。SDA只能在时钟低电平期间改变状态,在时钟高电平期间必须保持稳定。每个时钟脉冲包含两个边沿,下降沿在前,上升沿在后。在位传输过程中,接口总是在时钟脉冲的下降沿写入SDA,而在时钟脉冲的上升沿读取SDA。I2C总线事件(如地址识别、中断产生)总是发生在时钟脉冲的下降沿。

使用特权

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

本版积分规则