Search
MENU
  • Expressions
  • System architecture by project type
  • Users and Permissions
  • TapHome Bus over RS485

    TapHome modules communicate via proprietary protocol, over RS485 physical layer.

    The basic principle is to provide collision-free reliable and prompt communication between central control unit and modules.

    RS485 physical layer

    Bus connections must be powered by the same potential, because there is neither galvanic, nor optical isolation. While RS485 is based on voltage difference between A and B wires, it provides high protection from noise even on long twisted pair of wires.

    Core provides 3 bus connections. Maximum number of modules on each bus is 30. Altogether 90 modules on one control unit.

    Topology and wiring

    Parameter

    Recommended

    Note

    Cable length

    < 600m

    Up to 1200m in special conditions

    Cable type

    AWG 20 - 22, Twisted pair

    Shielding is usually not neccessary but nice to have, in case there is unexpected problem with noise

    Bus topology

    Daisy chain, Tree

    Daisy chain is optimal for long distances, tree can be used up to 600m, and star is also acceptable.
    Ring topology is prohibited.

    Termination resistor
    (between A and B wires)

    100 Ohm
    at the most distant point of the bus

    In most cases, communication works well even without termination resistor, but is much more prone to noise.

    Max number of modules
    (connected on 1 bus)

    < 32

    In good conditions (minimum noise, short wire distance, daisy chain topology), there can be up to 100 modules connected on 1 bus

    TapHome Bus protocol

    TapHome Bus protocol is based on round robin principle, where Core is master, and all connected modules are acting as slaves. In standard operation, module can only send response to a query. This provides a few benefits:

    (tick) Collision-free communication
    (tick) Similar performance regardless of number of changes that are being transmitted
    (tick) Immediate error detection

    Communication parameters

    Round robin

    Average packet size … 40 bytes => 3ms
    Round robin duration for 90 modules … 270ms

    Packet structure

    • Start byte (0xAA)

    • Packet length

    • Broadcast / unicast

    • Source address

    • Destination address

    • Action: Module-specific actions / Universal actions (Get Status, Get Description, Get general configuration, Get Uptime, Can broadcast, Identify LED)

    • Checksum

    Baud rate … 115200 bps
    Parity … None
    Start bit … 1
    Stop bit … 1
    Data bits … 8