Hello!
I have a project that I want to move from Arduino Uno to Teensy 3.6 because of faster floating point math and some other things. While I'm waiting for the boards to arrive, I'd like to use the time to educate myself on several things where I'm lacking, one of which is the method for communication between two boards. As I'm a beginner in these things, I'd like some help in choosing the option that I should spend time on. The parameters are these:
- two teensy boards need to communicate over a cable and distance of up to 30m
- the communication is primarily in one direction: the "sender" board sends sensor data to the "receiver" board which than does further work
- the data is 8 - 10 bytes, at a rate of 8000 readings per second, so I think it's about 64 - 80 kilobytes/sec = 512 - 640 kilobits/sec
- latency in the communication process should be as minimal as possible (it's a music controller)
- ease of implementation is much welcome, however it's less critical than performance
On the Arduino I've been successfully using I2C (with bus extenders), but that was with lesser amount of data, over a shorter distance, and my testing has shown it to be too slow for further use. So, the "research" has guided me towards CAN bus.
So, do you think CAN bus would be the right choice or is there something better for this situation?
Many thanks,
Mato
I have a project that I want to move from Arduino Uno to Teensy 3.6 because of faster floating point math and some other things. While I'm waiting for the boards to arrive, I'd like to use the time to educate myself on several things where I'm lacking, one of which is the method for communication between two boards. As I'm a beginner in these things, I'd like some help in choosing the option that I should spend time on. The parameters are these:
- two teensy boards need to communicate over a cable and distance of up to 30m
- the communication is primarily in one direction: the "sender" board sends sensor data to the "receiver" board which than does further work
- the data is 8 - 10 bytes, at a rate of 8000 readings per second, so I think it's about 64 - 80 kilobytes/sec = 512 - 640 kilobits/sec
- latency in the communication process should be as minimal as possible (it's a music controller)
- ease of implementation is much welcome, however it's less critical than performance
On the Arduino I've been successfully using I2C (with bus extenders), but that was with lesser amount of data, over a shorter distance, and my testing has shown it to be too slow for further use. So, the "research" has guided me towards CAN bus.
So, do you think CAN bus would be the right choice or is there something better for this situation?
Many thanks,
Mato