Back to Blog

RK3568/RK3588+LinuxCNC+EtherCAT Solution

#linuxcnc

The RK3588 is Rockchip's new-generation flagship high-end processor, featuring high computing power, low power consumption, powerful multimedia capabilities, and rich data interfaces. It is equipped with an octa-core CPU (quad-core A76 + quad-core A55) and an ARM G610MP4 GPU, with a built-in NPU offering 6.0 TOPs of computing power.

It boasts five major technical advantages:

  1. Built-in multiple powerful embedded hardware engines, supporting 8K@60fps H.265 and VP9 decoders, 8K@30fps H.264 decoder, and 4K@60fps AV1 decoder; supports 8K30fps H.264 and H.265 encoders, high-quality JPEG encoder/decoder, and dedicated image pre-processor and post-processor.

  2. Built-in 3D GPU, compatible with OpenGL ES1.1/2.0/3.2, OpenCL 2.2, and Vulkan 1.2. A special 2D hardware engine with MMU will maximize display performance and provide a smooth user experience.

  3. Built-in Rockchip self-developed 48MP ISP (Image Signal Processor), supporting numerous algorithm accelerators such as HDR, 3A, LSC, 3DNR, 2DNR, sharpening, defogging, fisheye correction, gamma correction, etc.

  4. The high-performance NPU supports INT4/INT8/INT16/FP16 mixed precision operations. Its powerful compatibility allows easy conversion of network models based on frameworks such as TensorFlow / MXNet/PyTorch/Caffe.

  5. Features a high-performance 4-channel external memory interface (LPDDR4/LPDDR4X/LPDDR5), capable of supporting demanding memory bandwidth.

 

 

Linux+Xenomai+IGH running for 53 hours - Actual test results:

 

II. Comparison of LinuxCNC Systems

  1. Highly integrated, all-in-one developed CNC system
  2. CNC system developed based on PLC and axis motion control cards: The motion control part is written to the motion control card, which controls the hardware, while non-real-time operations or computations are placed in the computer, which handles non-real-time tasks.
  3. Completely software-based motion planning and control system: Real-time tasks are entirely handled by computer software and can respond to hardware interrupts.

数控系统分类 This article mainly discusses LinuxCNC, a purely software-based operating system. It is a non-real-time operating system based on Linux. Compared to the previous two types of CNC systems, its superior functionality represents the future trend of CNC. However, at this stage, its response time and real-time accuracy are still not comparable to hardware-controlled systems. Despite minor flaws, its advantages are mainly reflected in its openness. All open systems possess the following characteristics:

 

LinuxCNC consists of four parts:

在这里插入图片描述 Motion Control Module

在这里插入图片描述

Task Scheduling Module

在这里插入图片描述 LinuxCNC Communication Methods

 在这里插入图片描述

Minimum configuration requirements for LinuxCNC installation. You can download the user installation manual (already translated into Chinese) from the following URL to get started: https://download.csdn.net/download/weixin_44880138/11197220

在这里插入图片描述 Briefly list the steps for stepper configuration using Stepconf:

在这里插入图片描述

Nowadays, when using LinuxCNC, it is often inevitable to use the EtherCAT protocol. Features of the EtherCAT Protocol:

在这里插入图片描述

Operating Principle of EtherCAT: The explanation of this principle refers to a master's graduate thesis, whose specific name I've forgotten. I hope the author doesn't mind, hahaha.

在这里插入图片描述 EtherCAT Master Structure

 在这里插入图片描述

Basic functions of the master:

  1. Reads and parses the slave device description XML file to obtain configuration parameters.
  2. Captures and sends EtherCAT data frames, completes EtherCAT sub-telegram parsing, packaging, etc.
  3. Manages slave device status, runs state machines, and completes master-slave state machine setup and maintenance.
  4. Enables acyclic data communication, completes system parameter configuration, and handles unexpected events during communication.
  5. Implements cyclic process data communication, enables real-time data exchange, real-time monitoring of slave status, and real-time processing of slave feedback signals, among other functions.

EtherCAT Slave Structure

在这里插入图片描述