求助:寻找一个,有线协议,要求通讯距离在 100 米左右,的总线协议(类似 I2C) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
zhimo08
V2EX    程序员

求助:寻找一个,有线协议,要求通讯距离在 100 米左右,的总线协议(类似 I2C)

  •  
  •   zhimo08 2024-08-17 21:27:48 +08:00 2222 次点击
    这是一个创建于 418 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景:智能家居的有线通讯协议,实现一线多连,全屋传输信号( 100M 足够用)。

    线路大约是双绞线,可以带有直流电源的一组线。

    类似 I2C 协议,但是 I2C 协议通讯距离不到 10M 。

    热插拔协议、至少能实现树状连接。

    14 条回复    2024-08-18 11:53:59 +08:00
    lingex
        1
    lingex  
       2024-08-17 21:38:07 +08:00
    双绞线 485 比较合适,热插拔没试过不太确定,连接通常是总线型。
    Od37v61n5s89gXx8
        2
    Od37v61n5s89gXx8  
       2024-08-17 21:40:32 +08:00
    CAN 啊,冲突检测自动重传,最长能到 10 公里(低速率),最高能到 5M
    sagaxu
        3
    sagaxu  
       2024-08-17 21:51:10 +08:00
    RS-485 或 CAN
    fengtons
        4
    fengtons  
       2024-08-18 00:00:34 +08:00 via Android
    rs485 最简单了,就是差分传输的串口,可以去到 1 公里,一对多的话可能要自己想办法实现了
    someonesnone
        5
    someonesnone  
       2024-08-18 00:17:39 +08:00 via Android
    485 can lin
    someonesnone
        6
    someonesnone  
       2024-08-18 00:19:02 +08:00 via Android
    还有最新的 two wire ethernet 似乎是这么叫 100BaseT1 2-Wire Automotive Ethernet provides 100MBPS connections over simple twisted 2 wires for a distance of up to 15 meters. The line signaling on the wire is not directly compatible with traditional 100BaseTX (RJ45)
    yolee599     7
    yolee599  
       2024-08-18 02:28:13 +08:00 via Android
    can 协议啊,比 rs485 功能更完善
    iseki
        8
    iseki  
       2024-08-18 02:41:15 +08:00
    @yolee599 can 是不是给不了这么远
    2xvaHoK2LGxQ29R5
        9
    2xvaHoK2LGxQ29R5  
       2024-08-18 03:26:47 +08:00 via Android
    别的不说,光是"可以带有直流电源的一组线。"这个要求就不太靠谱,100 米要能有直流电源驱动,光线上面的能量耗损就已经相当可观了。
    一般网线也好或者是其他电介质传输编码都是要保证直流平衡的,除了降低误码率的一个重要原因就是不要产生因为传输电产生的功率负载。
    2xvaHoK2LGxQ29R5
        10
    2xvaHoK2LGxQ29R5  
       2024-08-18 03:33:52 +08:00 via Android
    另外与其追求链路层面的总线功能,不如转成逻辑总线,即局部设备通过 I2C,zigbee 或者其他链路链接到边缘网关节点,然后各网关节点通过 TCPIP/MQTT 或者其他的协议链接通过网线到核心节点,然后可以通过 HA 等解决方案对于每个边缘网关节点进行控制,从而实现整体依然是逻辑总线协议控制,但是只有边缘到局部设备为真正 I2C 等物理总线协议
    2xvaHoK2LGxQ29R5
        11
    2xvaHoK2LGxQ29R5  
       2024-08-18 03:37:37 +08:00 via Android
    主要是一线多联的可靠性很低,一旦你这条线任意点位断掉那么立马整个总线结构就完蛋了
    misericorde
        13
    misericorde  
       2024-08-18 09:28:28 +08:00
    需要注意的是无论 CAN 还是 RS485 ,均要求总线是“一条”而非树状,挂在总线上的设备到总线本身的距离(叫做 stub length )不能太长,最好控制在 50cm 以内。可以搜一下 CAN bus topology 及 CAN bus stub length 。
    si
        14
    si  
       2024-08-18 11:53:59 +08:00
    485 就可以了吧,不过还是直接走网络比较方便。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     865 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 21:20 PVG 05:20 LAX 14:20 JFK 17:20
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86