[51单片机] 请教,I2C仲裁的概念和使用

[复制链接]
 楼主| tianqi911 发表于 2020-4-30 11:06 | 显示全部楼层 |阅读模式
很认真的阅读了I2C的协议,但是发现51核的硬件I2C模块,有自己的一套总线状态表(就在总线状态寄存器里),实际操作的时候,是通过这个状态表来写逻辑的。NXP的P89系列可能是鼻祖,因为这个文档上说明的状态是比较全的。

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

评论

就比如说有3个从机键盘挂上来,有1个主机。这个时候怎么办?  发表于 2020-4-30 11:07
ayb_ice 发表于 2020-4-30 11:18 | 显示全部楼层
仲裁是硬件完成的,会反应到状态寄存器里,所以只要根据状态完成相应动作就可以了

评论

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

本版积分规则

48

主题

235

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部