Greetings, I am a student researching protocols for global time synchronization in embedded systems, and am using Beaglebone Black for testing and demonstration. Current goal is to test the accuracy of selected protocol by independently synchronizing the clocks of two boards, then having both send a pulse on an output pin on set time, for example on every second exactly. I would then measure the delay between pulses of both boards to determine the reliability of the protocol.
There are obviously obstacles, the first one with Linux not being a real time operating system. One part of my research is measuring the delay caused by task scheduling, but for now I want to achieve a real-time response. I have read about PRU units having this capability, but have some questions:
-Is using a PRU even suitable for this kind of experiment? I am aiming for sub-microsecond accuracy.
-My task for example would require obtaining global time via selected protocol, then synchronizing the hardware clock and PRU to the obtained timestamp. Is this possible, considering PRU is a separate unit on the board?
-Is PRU clock accessible to programs in same way as processor clock (via hwclock on linux)? Is there a way to send pulses on pins periodically, but starting on a predefined moment on clock?
Any answers or tutorials would be welcome. I admit I am new to programming on this board.
Cheers,
JK