We have reserved several pins for the system monitoring MCU on the panel, including 1x RS232, 1x isolated CAN, 1x isolated DO, and 1x ignition input. Please refer to the pinout details on this page [link].
The purpose of each I/O is as follows:
MCU_RS232 – An interactive interface for sending commands and querying results once the MCU is powered up.
MCU_STATUS – Indicates the CPU status based on heartbeat checks and continuous handshakes.
MCU_CAN – A one-way interface that continuously sends onboard voltage, current, and thermal sensor information. This CAN bus is only functional after the sustain power is ready.
MCU_IGNITION – The ignition input for ignition power control.
Installation
We have prepared a sample program to demonstrate the system monitoring MCU on Ubuntu 24.04. Please use the following commands to download and install the sample code.
...
Remote Control via MCU RS232
The RGS-9805GC uses an MCU-based approach to provide a remote control feature. You can send the following command to the MCU via RS232 for power management. The RS232 settings are 115200 8E1 (please double-check the even parity setting).
Remote Power Control
Ignition Power Control
Boot Log
Check MCU Version
Check Sensor Info
The example sensor log shows timestamps in milliseconds after the onboard MCU powers on, with updates every second.
Sensor Monitoring Port vis MCU Isolated CAN 2.0
The MCU will send the sensor information (as shown in the MCU RS232 section) every second after decoding.
An decoding example could be found here (TBD).
System Status via MCU Isolated DO
SYSTEM_STATUS reflects the host computer’s proper operation within 10 ms, based on one CPU heartbeat and two MCU-to-CPU handshakes.
SYSTEM_STATUS remains high if:
The MCU receives at least 95% of CPU heartbeats within an 8 ms window. (app)
The OS-level handshake service (e.g., acpid) responds to the MCU’s rising edge within 5 ms. The MCU sends a handshake every 3 ms.
The app-level handshake service responds to the MCU’s rising edge within 5 ms. The MCU sends a handshake every 3 ms.
>PWRSTA # Check Current Power Status
>PWRONX # Power On
>PWROFF # Power Off (Hard)
>PWRCYC # Power Cycle: Power Off (Hard) + Power On
>IGN=?X
# IGN Power On Delay: 10 Sec. Power Off Delay: 10 Sec. Hard-Off Timeout: 10 Mins.
# Battery Voltage: 12V. Low Battery Threshold: 8.7V
# 12V_SUS Enabled as 000.000 for Boot Up
[00000.000] 12V_SUS Enabled
[00010.236] 12V_RUN Enabled
[00050.777] BIOS_OK is Asserted
...
# BIOS_OK Deasserted as 000.000 for Power Down
[00000.000] BIOS_OK is Deasserted
[50053.777] 12V_RUN Disabled
[50055.777] 12V_SUS Disabled
>VERXXX # Show MCU Version
>SENSOR # Print the Latest Sensor Information
ADC_DC_INPUT 13.2V
ADC_4-PHASE_PMIC_12V
ADC_2-PHASE_PMIC_12V
ADC_P12VGFL_IMON 36A # 12V * ADC_P12VGFL_IMON = Power consumption of 3x PCIe cards and U.2 on the left partition
ADC_P12VGFR_IMON 40A # 12V * ADC_P12VGFR_IMON = Power consumption of 4x PCIe cards on the right partition
ADC_12V_IMON 30A # 12V * ADC_12V_IMON = Power consumption of the rest of the system, mostly CPU and memory
ADC_TEMP_LEFT 51C
ADC_TEMP_RIGHT 53C
CPU_TEMP 60C