打印
[51单片机]

请教,I2C仲裁的概念和使用

[复制链接]
500|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianqi911|  楼主 | 2020-4-30 11:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很认真的阅读了I2C的协议,但是发现51核的硬件I2C模块,有自己的一套总线状态表(就在总线状态寄存器里),实际操作的时候,是通过这个状态表来写逻辑的。NXP的P89系列可能是鼻祖,因为这个文档上说明的状态是比较全的。

但现在的问题是,关于几个从机挂到一个总线上,怎么处理它们的冲突?仲裁是如何实现的?究竟咋去理解,才好写这个逻辑判断。

使用特权

评论回复
评论
tianqi911 2020-4-30 11:07 回复TA
就比如说有3个从机键盘挂上来,有1个主机。这个时候怎么办? 

相关帖子

沙发
ayb_ice| | 2020-4-30 11:18 | 只看该作者
仲裁是硬件完成的,会反应到状态寄存器里,所以只要根据状态完成相应动作就可以了

使用特权

评论回复
评论
tianqi911 2020-5-14 10:18 回复TA
@ayb_ice :谢谢前辈指点。 
ayb_ice 2020-5-13 15:08 回复TA
@tianqi911 :单主不存在仲裁的问题,只要从机地址不同就可以了,注意地址的概念,地址是按设备类型+地址组成的,最大可以挂128个从机 
tianqi911 2020-5-13 14:47 回复TA
@ayb_ice :我在网上搜了 都没有这个单片机的内容?(只有一篇文章提到33M)请问下,这是哪家公司的产品呀? 
ayb_ice 2020-5-11 10:43 回复TA
@tianqi911 :我记得C051F的官方有例程, 
tianqi911 2020-5-11 10:37 回复TA
@ayb_ice :谢谢前辈指点。那就是我自己的水平问题了,我开始用软件模拟,只有主机程序(网上搜的)从机调不通;就改用硬件模块。我还是研究协议不够。多向前辈学习。 
ayb_ice 2020-5-11 08:26 回复TA
@tianqi911 :大点的公司都有驱动,但我从来不用硬件IIC,GPIO模拟,几分钟就可以移植一个,可靠性还高 
tianqi911 2020-5-9 10:46 回复TA
高人,我在网上都搜不到 硬件I2C状态寄存器 如何使用的资料(特别是程序例子),官网都没有。您有什么地方推荐下,可以找到这古老的资源吗?我这次写程序能搞定基本一半靠猜,一半靠试验,心里没底。 
板凳
雪山飞狐D| | 2020-5-2 21:53 | 只看该作者
    是靠那个上拉的高电平做的技巧,这样不会造成时序和逻辑冲突

使用特权

评论回复
地板
William1994| | 2020-5-3 09:17 | 只看该作者
从机还是要靠地址不同。

使用特权

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

本版积分规则

48

主题

235

帖子

2

粉丝