V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zhimo08
V2EX  ›  程序员

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

  •  
  •   zhimo08 · 123 天前 · 1800 次点击
    这是一个创建于 123 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    14 条回复    2024-08-18 11:53:59 +08:00
    lingex
        1
    lingex  
       123 天前
    双绞线 485 比较合适,热插拔没试过不太确定,连接通常是总线型。
    lxh1983
        2
    lxh1983  
       123 天前
    CAN 啊,冲突检测自动重传,最长能到 10 公里(低速率),最高能到 5M
    sagaxu
        3
    sagaxu  
       123 天前
    RS-485 或 CAN
    fengtons
        4
    fengtons  
       123 天前 via Android
    rs485 最简单了,就是差分传输的串口,可以去到 1 公里,一对多的话可能要自己想办法实现了
    someonesnone
        5
    someonesnone  
       123 天前 via Android
    485 can lin
    someonesnone
        6
    someonesnone  
       123 天前 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  
       123 天前 via Android
    can 协议啊,比 rs485 功能更完善
    iseki
        8
    iseki  
       123 天前
    @yolee599 can 是不是给不了这么远
    kangyue9999
        9
    kangyue9999  
       123 天前 via Android
    别的不说,光是"可以带有直流电源的一组线。"这个要求就不太靠谱,100 米要能有直流电源驱动,光线上面的能量耗损就已经相当可观了。
    一般网线也好或者是其他电介质传输编码都是要保证直流平衡的,除了降低误码率的一个重要原因就是不要产生因为传输电产生的功率负载。
    kangyue9999
        10
    kangyue9999  
       123 天前 via Android
    另外与其追求链路层面的总线功能,不如转成逻辑总线,即局部设备通过 I2C,zigbee 或者其他链路链接到边缘网关节点,然后各网关节点通过 TCPIP/MQTT 或者其他的协议链接通过网线到核心节点,然后可以通过 HA 等解决方案对于每个边缘网关节点进行控制,从而实现整体依然是逻辑总线协议控制,但是只有边缘到局部设备为真正 I2C 等物理总线协议
    kangyue9999
        11
    kangyue9999  
       123 天前 via Android
    主要是一线多联的可靠性很低,一旦你这条线任意点位断掉那么立马整个总线结构就完蛋了
    misericorde
        13
    misericorde  
       123 天前
    需要注意的是无论 CAN 还是 RS485 ,均要求总线是“一条”而非树状,挂在总线上的设备到总线本身的距离(叫做 stub length )不能太长,最好控制在 50cm 以内。可以搜一下 CAN bus topology 及 CAN bus stub length 。
    si
        14
    si  
       123 天前
    485 就可以了吧,不过还是直接走网络比较方便。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3370 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:40 · PVG 19:40 · LAX 03:40 · JFK 06:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.