Well, here I am again, with the big question: How does the computer talk to the slaves (Arduino Megas. I have gone through USB (major problems), NASA Edin Lite via RS485 (but it has a small packet size).
Then I thought of Ethernet (too costly per node) and then I thought of CAN bus, it has an 8-Bit payload, and in some respects it is extensible it is used in automotive, machine tools, and aircraft.
Enter CANaerospace (Open Source) has been codified by ARINC 825, both Airbus and Boeing have adopted this technology on their newer models. Such as A380 for entertainment system only. On July 30, 2019, the U.S. Homeland Security Cybersecurity and Infrastructure Security Agency (CISA) released ICS-ALERT-19-211-01 about the hackability of CAN Bus avionics networks in civilian aircraft.
As you can see it uses an ISO 7 layer model. The message is comprised of Five (5) fields: Node-ID, Data-Type, Service Code and Message Data. Theses fields are well defined here "Interface specification for airborne CAN applications V1.7".
Data representation Endianness is Big Endian which is used on M68K, SPARC, and most Internet Protocols while Little Endian is mostly found on x86 hardware and some Arm processors.
One of my first jobs will be to get two Arduino Megas working with each other. Most of the Tutorials are based on the controller listener model. What I need to do is to both send and receive that is act as transceivers from each LRU with just two nodes.
Next, I have will to build an Ethernet-CAN Gateway-Controller. This most likely will be a TI launchpad 32-bit board with a built-in RJ-45 Ethernet connector, there is also a CAN controller but no transceiver. DUH, but it does have an SPI interface, so it looks like I will just have to use the CAN module that I have used before.
CAN Controller | Arduino Mega | TI Tiva TM4C1294 |
---|---|---|
![]() | ![]() | ![]() |