找回密码
 立即注册
查看: 492|回复: 19

请教I2C通信问题

[复制链接]
  • TA的每日心情
    开心
    2024-3-2 13:13
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    2

    主题

    11

    回帖

    124

    积分

    注册会员

    积分
    124
    发表于 2024-2-13 17:26:41 | 显示全部楼层 |阅读模式
    向各位大侠请教I2C通信问题:
    1、用STC的单片机通过I2C总线组网,大家有自动分配从机地址的解决方案吗?

    2、假设I2C总线网络中有多个主机,各主机可以收到其它主机发送的广播数据吗?
    3、STC32G.h头文件中,以下有关主机状态的定义在什么情况下使用?
    1. <div>#define MS_IDLE                     0x00
    2. #define MS_START                    0x01
    3. #define MS_SENDDAT                  0x02
    4. #define MS_RECVACK                  0x03
    5. #define MS_RECVDAT                  0x04
    6. #define MS_SENDACK                  0x05
    7. #define MS_STOP                     0x06
    8. #define MS_START_SENDDAT_RECVACK    0x09
    9. #define MS_SENDDAT_RECVACK          0x0a
    10. #define MS_RECVDAT_SENDACK          0x0b
    11. #define MS_RECVDAT_SENDNAK          0x0c</div>
    复制代码

    感谢!




    图.png
    回复 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9492

    回帖

    1万

    积分

    管理员

    积分
    14057
    发表于 2024-2-13 17:48:00 | 显示全部楼层
    截图202402131747559835.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9492

    回帖

    1万

    积分

    管理员

    积分
    14057
    发表于 2024-2-13 17:48:27 | 显示全部楼层
    截图202402131748248675.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-2 13:13
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    2

    主题

    11

    回帖

    124

    积分

    注册会员

    积分
    124
     楼主| 发表于 2024-2-13 18:06:43 | 显示全部楼层

    MA对广播数据不起作用,主机向广播地址0x00发送的数据,所有从机都可以收到。

    点评

    如果想要全是主机进行地址传送,也就是所有的设备优先级都一致。建议使用can总线通讯,硬件层实现了自动仲裁发送,但是地址仍然是需要我们给指配的  详情 回复 发表于 2024-2-13 19:25
    需要自行设计从机地址切换,且外部有其他手段指定地址。 讲一个简单的流程。首先是一个主机,其他都是从机。从机地址都是0x00且开启地址匹配。 此时主机发送地址,所有从机都能收到。从机方面有其他手段(例如一个按  详情 回复 发表于 2024-2-13 19:23
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 121 天

    [LV.7]常住居民III

    33

    主题

    397

    回帖

    2040

    积分

    荣誉版主

    积分
    2040
    发表于 2024-2-13 19:23:08 | 显示全部楼层
    FL_FL 发表于 2024-2-13 18:06
    MA对广播数据不起作用,主机向广播地址0x00发送的数据,所有从机都可以收到。 ...

    需要自行设计从机地址切换,且外部有其他手段指定地址。
    讲一个简单的流程。首先是一个主机,其他都是从机。从机地址都是0x00且开启地址匹配。
    此时主机发送地址,所有从机都能收到。从机方面有其他手段(例如一个按键),保存当前地址并且转入设定的地址。这样主机给每个从机制定完成地址后,就可以正常和从机通讯了。
    如果想要全自动实现,首先就是逻辑上的不通顺。如何知道分配的地址是否重叠?如何判断地址和芯片的对应关系?所以还是需要手动的,上面这个流程只能简化修改程序的步骤,可以让所有从机都下载一个程序。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 121 天

    [LV.7]常住居民III

    33

    主题

    397

    回帖

    2040

    积分

    荣誉版主

    积分
    2040
    发表于 2024-2-13 19:25:11 | 显示全部楼层
    FL_FL 发表于 2024-2-13 18:06
    MA对广播数据不起作用,主机向广播地址0x00发送的数据,所有从机都可以收到。 ...

    如果想要全是主机进行地址传送,也就是所有的设备优先级都一致。建议使用can总线通讯,硬件层实现了自动仲裁发送,但是地址仍然是需要我们给指配的
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-2 13:13
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    2

    主题

    11

    回帖

    124

    积分

    注册会员

    积分
    124
     楼主| 发表于 2024-2-14 11:19:03 | 显示全部楼层
    设想的注册流程如图所示
    流程图.png
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-2 13:13
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    2

    主题

    11

    回帖

    124

    积分

    注册会员

    积分
    124
     楼主| 发表于 2024-2-14 11:21:15 | 显示全部楼层
    流程成功的关键在于:I2C主机模式下能否收到其它主机模式MCU广播的数据。

    点评

    STC的MCU主机模式无法接收其他主机数据。 只有在从机模式才能发送数据。 如果想要实现你所述的这种效果,可以关闭IIC状态,通过模拟IIC主机仲裁来使能当前设备使用主机还是从机模式。 具体实现可以是使用随机的延时  详情 回复 发表于 2024-2-14 11:35
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-2 13:13
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    2

    主题

    11

    回帖

    124

    积分

    注册会员

    积分
    124
     楼主| 发表于 2024-2-14 11:23:02 | 显示全部楼层
    王昱顺 发表于 2024-2-13 19:25
    如果想要全是主机进行地址传送,也就是所有的设备优先级都一致。建议使用can总线通讯,硬件层实现了自动 ...

    不是全主机模式
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-2 13:13
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    2

    主题

    11

    回帖

    124

    积分

    注册会员

    积分
    124
     楼主| 发表于 2024-2-14 11:35:07 | 显示全部楼层
    王昱顺 发表于 2024-2-13 19:25
    如果想要全是主机进行地址传送,也就是所有的设备优先级都一致。建议使用can总线通讯,硬件层实现了自动 ...

    柜内模块数据交互用CAN有点浪费,设想的是柜内用I2C,柜外有线用CAN

    点评

    这样的话还是需要自行实现一下IIC主机设备总线仲裁  详情 回复 发表于 2024-2-14 11:42
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-17 20:16 , Processed in 0.080916 second(s), 74 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表