On 7/15/20 5:16 AM, Petr Titěra wrote:
On 15.07.2020 0:13, Trent Piepho wrote:
On Mon, Jul 13, 2020 at 4:52 PM Hal Murray <[email protected]> wrote:
Is there any way for a USB device to synchronise with the CPU clock (perhaps via the USB framing) so that a special-purpose device could timestamp the PPS
occurrence with respect to CPU time ?

It seems maybe this was thought about in USB 1.1.  From the UHCI spec:

         Minor adjustments can be made to this value [ 1-ms frame time]
...  This feature permits minor changes to be made to the frame time
period, if necessary, to maintain real-time synchronization throughout
a USB system.

It seems like it would not be that hard to get the USB frame sequence
phase locked to the system clock.  One would need a way to measure the
phase offset of the USB S-o-F vs the system clock, and then it's a
standard process to phase lock, with the necessary control to do this
described above.

I think you can have problems with that. At least in general. Look at this specification of system clock generation chip:

https://datasheet.datasheetarchive.com/originals/distributors/Datasheets-DGA19/372682.pdf

It seems to two independent PLLs to generate USB clocks and system clocks. Is common frequency source enough to synchronize these two?

There are more recent generators which claim that they use one common source for all generated frequencies but generally you can have separate timing of USB and rest of the system.

Petr Titera



Yeah, but in the case of a USB-Serial dongle, they're not going to use a chip like that.

https://www.ftdichip.com/Products/ICs/FT231X.html is a typical simple USB-Serial part It has a single 12 MHz internal clock (see fig 2.1 of datasheet) that's multiplied up to 48 MHz - of course they say nothing about anything else inside the chip.

It kind of depends on how they implemented the serial to USB functions - I'm going to guess it's simple software on a microcontroller (since FTDI makes microcontrollers too) and it's unlikely that the software is running an RTOS with multiple threads. More likely, it implements some sort of state machines, or possibly, a "big loop" polling scheme. So I suspect the timing from Serial Port events to USB events is fairly consistent.



_______________________________________________
time-nuts mailing list -- [email protected]
To unsubscribe, go to 
http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

Reply via email to