Balluff - BVS CA-BN Technical Documentation
|
Lost frames are observed when using a camera together with an NVIDIA® Jetson™ Board running Linux. Jetson Orin™ boards are particularly affected.
Jetson™ Boards use a number of governors to throttle various clocks when hardware devices, CPUs, GPUs or memory are not being used. In particular, the EMC (memory) clock setting affects DMA transfers from camera devices into memory. In the case of NVIDIA Jetson™ Orin Boards another potential cause of problems has been identified and its effects substantially reduced since Impact Acquire v3.5.0. See Notes about PCIe credits and user-supplied buffers for more details on this.
To avoid this situation there are several possible solutions:
An appropriate script could be written with these contents to a new file called, for example, "/usr/local/bin/set_emc_to_max.sh".
#/bin/sh echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked echo $(cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate) > /sys/kernel/debug/bpmp/debug/clk/emc/rate exit 0
You could use 'systemd' to run this script once on start. Create the new file "/etc/systemd/system/emc_max.service" with these contents:
[Unit] Description=set EMC clock to maximum service After=systemd-modules-load.service [Service] Type=oneshot ExecStart=/bin/sh /usr/local/bin/set_emc_to_max.sh [Install] WantedBy=multi-user.target
Activate the service ready for the next reboot like this:
sudo systemctl enable emc_max.service
You can start the service once, without rebooting, like this:
sudo systemctl start emc_max.service
You can disable the autostart at any time like this:
sudo systemctl disable emc_max.service