Is it a good idea to use a usb-serial adapter for PPS? Yes, it is.

Hans Petter Selasky hps at selasky.org
Mon Aug 19 07:21:09 UTC 2019


On 2019-08-18 23:57, Ian Lepore wrote:
> I think HPS reads the arm@ list, but I'll cc him directly on this
> reply, just in case he has time to weigh in on this stuff.

Hi,

I'm subscribed.

The behaviour of BULK transfers depend on the actual USB host controller 
manufacturer.

USB transfers are executed by priority, typically:
ISOCHRONOUS, INTERRUPT, CONTROL, BULK

Depending on the endpoint descriptor, the service rate may vary. The 
minimum guarantee is to be serviced one time every 125us (for USB2.0).

Completion interrupts are usually delayed a bit (63-125us for EHCI/XHCI, 
1ms for USB 1.0 via UHCI/OHCI).

The USB stack in FreeBSD does not have any memory allocations in the 
fast path and so is very quick to complete jobs. Also in user-space.

Technically speaking, the time device could make predictions about when 
the packet is read from the USB buffer and when the USB host issues the 
completion interrupt.

These adjustment values could be calibrated by some kind of ping protocol.

--HPS


More information about the freebsd-arm mailing list