Toradex AG is moving from a single, monolithic tester to a modular setup in which
compact STM32-based “bricks” exchange measurement data with a Linux host over a
Controller Area Network (CAN) bus. This thesis investigates whether a Zephyr-RTOS
implementation of CANopenNode can satisfy three practical needs: reliable brick-tocontroller
communication, error-free transfer of firmware-sized data objects, and real-time
streaming of Linux boot logs from the device under test.
A laboratory prototype was built that links a PC test controller to an STM32 brick
through a USB-to-CAN interface, replicating the signal paths of the planned tester. Core
CANopen services namely network management, SDO uploads/downloads, and PDO
mapping, were first verified. A DOMAIN object then enabled a 1 kB file to be written,
read back, and byte-checked, proving that remote firmware updates are feasible.
Bootlog bytes captured via UART were packetised and streamed both as PDOs and as
SDO block transfers. Busload and multi-node overload scenarios were simulated and analyzed.
All results were verified with custom analysis scripts and bussniffing software to
confirm correct results.
The results confirm that Classical CAN with CANopen satisfies Toradex’s requirements
almost completely and show which steps are necessary for a successful implementation in
the future. However, they also highlight potential issues with overloading the CAN bus.
In conclusion, the project successfully established a solid foundation for implementing
CAN communication on the new tester. The results will help Toradex to make informed
decisions about future developments and identify potential problems in advance.
Toradex AG is moving from a single, monolithic tester to a modular setup in which
compact STM32-based “bricks” exchange measurement data with a Linux host over a
Controller Area Network (CAN) bus. This thesis investigates whether a Zephyr-RTOS
implementation of CANopenNode can satisfy three practical needs: reliable brick-tocontroller
communication, error-free transfer of firmware-sized data objects, and real-time
streaming of Linux boot logs from the device under test.
A laboratory prototype was built that links a PC test controller to an STM32 brick
through a USB-to-CAN interface, replicating the signal paths of the planned tester. Core
CANopen services namely network management, SDO uploads/downloads, and PDO
mapping, were first verified. A DOMAIN object then enabled a 1 kB file to be written,
read back, and byte-checked, proving that remote firmware updates are feasible.
Bootlog bytes captured via UART were packetised and streamed both as PDOs and as
SDO block transfers. Busload and multi-node overload scenarios were simulated and analyzed.
All results were verified with custom analysis scripts and bussniffing software to
confirm correct results.
The results confirm that Classical CAN with CANopen satisfies Toradex’s requirements
almost completely and show which steps are necessary for a successful implementation in
the future. However, they also highlight potential issues with overloading the CAN bus.
In conclusion, the project successfully established a solid foundation for implementing
CAN communication on the new tester. The results will help Toradex to make informed
decisions about future developments and identify potential problems in advance.