Can you explain this? then synchronizing the hardware clock and PRU to the obtained timestamp Typically you synchronize a software timer which is based off the processor clock and adjust it for drift if your goal is to have two board's running on exactly same Time to a sub microsecond resolution via synchronization of the 1 sec pulse they share via PRU and then adjust both clocks I see some issues. Assuming you were able to quickly share some protocol Time like NTP from Linux to PRU via shared ram Write a 1 sec timer on PRU that generates an interupt or place value into PWM timer to generate a toggle between PRU Wrote this in PRU assembly ( your New you said) I don't think you have enough instructions to meet your resolution. The problem I see is what you observed in your opening. Since Linux isn't realtime in fact it's an albatrosscompared to barebones as far as latency or even an RTOS they added this PRU that has no albatross and said hey look PRU it's realtime. The funny part is an ARM core running at GHz frequency with no Albatross ( Linux) in barebones or RTOS can do exactly what you want to do. Unfortunately you need a TCP/IP stack ie RTOS. In the real world in industry hard realtime application like say a high end motor controller running PID and Control algorithms on a DSP using RTIS clock ticks in the nano HZ frequency that require what you wanna do use a paid for RTOS like Green Hills Integrity with the stack and an interupt service routine to synchronize your two separate ARM core's running at much higher clock speed's. If you don't need the TCP/IP stack or have the skills to get FreeRTOS, or a board that supports TI RTOS ( this board doesn't) running those are options certainly not for a beginner. The problem is 35 years ago everything was barebones, Assembly and real time that's how they tought you right out school. Now they Take CS students who know Unix supply them with a cheap board complete with Linux lot of Jazzy scripts and over Lay's so it changes in a weekly basis and your lost without Linux. And when you say you need real time the salesman in Houston he tell you hey buy this board it's got a processor running Linux(Albatross) and Programmable Realtime Units 🤪😜🤑 Hmmm Mr Salesman I see you made a career in these doggy boards,isn't a GHZ ARM core real-time Uhhm yes sir sorry it is But We don't support barebones/ JTAG in this group we debug Linux using prints 😂🤓🤪 and even have a doggy board with 4 PRU You won't find any examples that will be adaptable to achieve your goals if you're doing what I think you are. Hey but if you learned Linux in school you can buy this board and put Real Time on your resume. PROGRAMBLE REAL-TIME 🤫
Sent from Yahoo Mail on Android On Fri, Feb 28, 2020 at 8:26 PM, Venkatesh Vadde<vva...@gmail.com> wrote: We have been using a Beaglebone Black for a while now using the PRU(s) for time sensitive experiments. In our estimate the PRU has shown a very stable clock, running at 200MHz with tight control. The clock does run off a very stable TCXO and the two PRUs are synchronized to within mHz of offset (relative to each other) likely attributable to any clock skew effects. Getting day and time stamp does need synching up to a network time server via NTP. I hope that helps. Venky On Sat, Feb 29, 2020, 12:05 AM Dennis Lee Bieber <dennis.l.bie...@gmail.com> wrote: On Fri, 28 Feb 2020 01:35:54 -0800 (PST), in gmane.comp.hardware.beagleboard.user Jaka Koren <jaka.koren.isys-re5jqeeqqe8avxtiumw...@public.gmane.org> wrote: >-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? The processor clock(s) will be only as reliable as the crystal(s) used on the board. These crystals are not, to my knowledge, temperature compensated, nor are they in an "oven" -- so some drift as the circuit warms up or the environment changes temperature is to be expected. >-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? The PRUs do not have a time-of-day clock. The main processor time-of-day is periodically synchronized using NTP, and I suspect is incremented using an interrupt from a 32.768kHz crystal. The main processor itself appears to be driven by a 24MHz clock (probably via some multiplier to get to the 1GHz internal cycle). The PRU processor clock is 200MHz, which I believe gives a 5ns instruction timing (you'll have to figure out how many instructions will be needed to handle GPIO toggling and any time delays). I expect this clock, as with the processor main clock, are conditioned on the 24MHz crystal frequency. The time-of-day clock likely is not synchronized to the ARM processor clock (except as an artifact of interrupt signal gating). -- Dennis L Bieber -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/mani5f5fhkhuvtinqsurh7tep79458toik%404ax.com. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CAHW0bcx%3DSdYNFMPURxHsxFp7gjHn5CuwBTLmFNL-ft8EVL3Opw%40mail.gmail.com. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/429681845.3717091.1582948119649%40mail.yahoo.com.