I heard it on the VINE
We saw this as a two-fold problem: hardware and software.
Simple hardware communications solutions like I2C and SPI were readily available but lacked the intelligence that smarter communications would provide. RS485 came close with its multi-drop capability, and CANbus fixed the issue of bus contention, however at the expense of additional interface components and cabling considerations, and a significantly heavier firmware load. RS232 was very simple to implement but was only point-to-point. None of these off-the-shelf solutions really scratched the itch.
Slightly disappointed, we turned to pondering software. Whatever software was required, we knew we wanted to be very light-weight. Something you could run in Arduino Micro/Nano or equivalent. Something that could self-identify, and could respond to both directed and broadcast traffic.
Then a flash of memory struck - we remembered the Token Ring network of old, now superseded by Ethernet, and soon we had merged the best concepts of hardware and software together to come up with the VINE.
The VINE is a combination of modified RS232 hardware and a Token-passing software method. In normal RS232, both RX and TX lines go between the same two components, but in the VINE, the TX line goes to the next Leaf. The Controller transmits to the first Leaf, who transmits to the second Leaf, etc, until the final Leaf transmits back to the Controller.
Therefore the main magic is in the Token passed around - the message itself. At the front of each message is an address, and when a Leaf on the VINE receives a message, it decrements that address and, when the address reaches a “1”, the Leaf handles that message and responds appropriately. That Token/Message then makes its way back through the rest of the Leaves, being ignored because the Address is now and forever will always be “0”.
Identification of Leaves on the VINE is simple also, sending out an Address of “*” will cause all Leaves to both forward the broadcast and also respond with their name. Their addressing in the VINE becomes inherent due to the auto-incrementing of response messages by each Leaf.
Thus, with a bit of clever borrowing, we have a self-organizing, virtually unlimited multi-drop network of intelligent nodes, with a human-readable protocol running on an electrically simple interface.
Leave a Reply.