-The Maretron SSC300 compass would not take configuration commands.
Using somewhat dubious configuration work arounds I did get it to work for all my test devices. This does not mean it will talk to all devices.
BUT this is indication that the problem is the closed nature of the N2K infrastructure, not the electrical signals or the SW driving them.
Sending information to the chart plotters through 0183 worked fine.
Stress testing.
0183
My default testing is with a 7m run of Belden 9891 and a 10M capable PCIe RS422 card with the Pi in loopback and a 10^13 BER pattern.
This ran well at all 'normal' data rates. However as I pushed the speeds up to the default Pi limit of 921600 the waveforms got slightly rounded with 5% under and overshoot.
Changing to use the high speed UART options my receiver had no problem decoding comms till 2.5M, at this rates the error rate dropped below what I would consider acceptable limits ( 1e-10 ).
I tried alternate PSU arrangements and only got a slight improvement.
Shortening the cables to a 1m test loop did improve the situation indicating that high speed serial could be made to work in special cases.
N2KNo problem observed, I took the buss to 85% load - where NMEA2k falls apart any way.
I saw no problem related to the CAN electrical interface.
J1939
Because of the similarities to N2K - no problems observed.
I2C
I tested to 400kHz, the device was solidly within the I2C specifications.
Power
The device really did get to 15W. It's transient response was tolerable but not good at these levels.
At 15W this equates to a N2K power load of ~31LEN. The N2K bus is specked for a maximum of 60LEN - So over half the power on the N2K bus.
The Pi4 Compute module managed to exceed the 15W limit and caused a system reboot.
Here in lies one of my concerns.
As the power draw of the Pi is partially related to the SW load a new patch or adding another service could generate hard to debug power issues on the N2K bus.
Though devices are supposed to work down to 9V they are more or less tolerant of power bus transients.
Because the Pi can generate comparatively instant loads on the N2K power bus compared to normal N2K devices it is possible to produce some eye brow raising voltage swings on the N2k power bus. Adding some additional bulk capacitance on the N2K power lines would not be a bad idea.
If you were to use this hat I would Assume a LEN of 31 and plan the N2K wiring accordingly.
Thermal
- I only test the high side temperature and too the ambient to 35C. My usual test is looing for the CPU thermal throttling point at a 33% loaded CPU. I use a synthetic load app that does a non DMA copy from flash to mem through the encryption block.
Pi3 had minimum change in thermal performance ( may be 0.5 deg. But that is at the testing resolution )