[riot-notifications] [RIOT-OS/RIOT] drivers: net: add ethocan (Ethernet-over-CAN) driver (#10710)
notifications at github.com
Wed Jan 30 12:52:51 CET 2019
*I tried to explain why I did this design decision. But in the end it became the story behind this PR - so it got a little bit longer. I hope you don't mind ...*
My initial intention was to bring IPv6 to connected nodes using a bus wire for my home automation. IPv6 because it’s the protocol of the Internet. It is routable and nodes can connect devices outside the local network segment without any protocol conversion. It also supports multicast … I think you know the benefits of using IPv6.
The bus wire just travels through my flat on the heating pipes. I don’t need much bandwidth and want to save energy. Hence, solutions with wired Ethernet and a MAC/PHY (e.g. ENC28J60) aren’t a solution to my problem. Especially the star architecture creates hassle when you connect many devices.
In the first place I wanted to use a RS485 bus to connect all nodes. But this is not really multi master capable. (Of course I could pass around some tokens and every node is the master at some time – but I throw that idea away. Too much complexity. Energy consumption even if no data needs to be transmitted. High delays due to the token system …)
So I stumbled over CAN. I tried to map IPv6 on the CAN frames but faced the problem quite fast: The payload holds a payload of only 8 bytes.  I thought about fragmenting IPv6 like 6LoWPAN does. But the complexity of that task and the overhead (40% of the sent payload) kept me from doing that. And if you are using the built-in CAN periphery you have to stick to that frame format.
Finally, I came to the idea of utilising the UART periphery instead of the CAN periphery, as proposed on this PR.
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the notifications