SNOW007 发表于 2023-5-9 12:25:14

多单片机(一主多从)之间单总线通讯!!急急急

大家好,有哪位大侠用过多个单片机之间(一主多从)单总线通讯的,我现在模拟了一个单总线通讯,两个单片机之间可以了,但是再多加一个数据就无法收到了(感觉数据竞争),哪位大侠做过请指导下, 急急急










Eworm001 发表于 2023-5-9 12:27:17

可以参考 usb power delivery

t3486784401 发表于 2023-5-9 12:28:18

一般就是协议不完善

SNOW007 发表于 2023-5-9 12:33:58

我模拟了红外发射接收的格式,两个单片机没问题,但是三个就收不到数据了

bzbs 发表于 2023-5-9 12:47:46

SNOW007 发表于 2023-5-9 12:33
我模拟了红外发射接收的格式,两个单片机没问题,但是三个就收不到数据了 ...
(引用自4楼)

有用示波器看总线的电平情况不?
比较可能是发送数据方,下拉能力不够,接受方上拉太强,导致低电平不复合要求导致。

先排除硬件,在排除软件问题。

软件协议定义上。最好是一发多收,如果有多发情况的话,就需要采用策略,避免同时发送数据产生冲突和竞争风险。这个说起来就很麻烦了。

SNOW007 发表于 2023-5-9 13:20:51

bzbs 发表于 2023-5-9 12:47
有用示波器看总线的电平情况不?
比较可能是发送数据方,下拉能力不够,接受方上拉太强,导致低电平不复 ...
(引用自5楼)

发送接接收IO口是不是都得设置成OC或OD输出啊??

liufabing 发表于 2023-5-9 13:29:18

总线,不是有地址码么?每个设备地址码不同,地址不匹配不响应.
注意线与结构(5楼说的),硬件上参考18b20与IIC.外挂上拉电阻,芯片OC输出.

mypear 发表于 2023-5-9 13:45:01

直接发数据,没有走协议?凡是有个地址也不会冲突

BOERLBH 发表于 2023-5-9 13:48:03

18b20的单线协议就很NB啊。

czzhouyun 发表于 2023-5-9 14:01:11

走的红外协议吗?红外协议咋定义的,其实和485通讯一样,每个从机一个地址,先发地址,回信息也是先发地址,这样就不冲突了

gsq19920418 发表于 2023-5-9 14:13:24

电池的那种呢?

Flyback 发表于 2023-5-9 14:36:16

都要设置为开漏输出

angler12 发表于 2023-5-9 14:41:06

可以看看Yamar家有没有合适的方案

jssd 发表于 2023-5-9 16:31:40

SNOW007 发表于 2023-5-9 13:20
发送接接收IO口是不是都得设置成OC或OD输出啊??
(引用自6楼)

先用示波器看看波形,确定是否信号能完全下拉或者上拉。标准输入输出多了拉不下来。必须OD输出,并且是强输出0

SNOW007 发表于 2023-5-9 16:39:26

感谢各位大侠指导,通讯ok了,还有点小问题,就是前三个字节没问题,最后一个字节感觉错了一位(前面都是对的)

SNOW007 发表于 2023-5-9 16:42:02

发送端数据是对的,比如最后发送的字节是0x31,但是接收端总是接收到0x18,就是正确的0x31的最后一位1没有了,最前面补0,得到了0x18,还得找下原因,前三个字节接受的都没问题,就是最后一个字节出了这个问题

ANHOME 发表于 2023-5-9 18:43:54

直接上CAN 总线不香吗? XL2515 国产代替MCP2515, 我之前用过,性价比很高啊!
页: [1]
查看完整版本: 多单片机(一主多从)之间单总线通讯!!急急急