Effect of PCI Devices on Automation Systems
Industry 4.0 is changing systems architecture across all domains in industrial automation. Upcoming edge computing architectures use virtualization for scaling dedicated applications with deterministic key performance indicators (KPIs) on a heterogeneous operating systems. This enables an industrial control application to be configured to have dedicated cores assigned to different operating systems. For example, a motion controller can have a core dedicated to real time operating system (such as VxWorks*) to execute real-time workloads and another core assigned to a general purpose operating system (such as Windows*) to run other applications that are not time-sensitive.
Figure 1 shows a typical industrial Programmable Logic Controller (PLC) design where one core is dedicated to Windows* supporting an application running a legacy device (such as a PCI device) and the other core is dedicated to a RTOS that supports a real time application running on Intel® Ethernet controller I210.
Legacy device application run on Windows* and often frequently initiate bulk and high-speed data transfers from the CPU to the device via the system network. Real-time application run on RTOS and also demand system network resources by generating continuous compute requests to CPU core (for example, real time application running on Intel® Ethernet Controller I210 generate interrupts to be executed via the interrupt service routine (ISR)).. As time progresses, transactions from legacy device congest the system network as PCI-express to PCI Bridge stalls the ongoing traffic because PCIe ordering rules don’t support such bulk high-frequency data transfers to a PCI device. This degrades the Quality of Service (QoS) and disturbs the time synchronization for real time application. In cloud computing, this phenomena is known as the “noisy neighbor” effect.
Quality of Service (QoS) can be improved by upgrading to modern PCIe devices (gen 3.0) that can access memory directly via direct memory access (DMA) to bypass the need to access memory via the CPU. Additionally, PCIe specification mentions a feature called virtual channels. These channels can be assigned different quality of service (QoS) parameters to different packets and thus route packets with different priority levels. The time synchronization challenge can be solved by using Precision Time Measurement (PTM) compliant PCIe devices. PTM is relatively new ECN to PCIe 3.0 and allows for both absolute and relative time synch among different components. For example - consider a robotic vision system where there are two different video cameras capturing the same scene from different angles. In this use case, we not only want to be aware of the absolute timestamp when the image was captured, but also the propagation delay for each camera frame so that we can adjust the buffering on cameras to align not only when the packets are transmitted, but also when they will be received. A typical PCIe device wouldn’t be able to provide such level of time synch but a PTM compliant PCIe device would enable such time synchronization.
Vikram Dadwal, Product Marketing Engineer:
Vikram is part of the Industrial Solutions Division (ISD) in Intel’s Internet of Things (IOT) group and support industrial customers in their transformational journeys.
This post does not have any comments. Be the first to leave a comment below.
Post A Comment
You must be logged in before you can post a comment. Login now.