[time-nuts] Net4501

Ralph Smith ralph at ralphsmith.org
Fri Jun 7 04:57:22 UTC 2013



On Jun 7, 2013, at 12:19 AM, Chris Albertson <albertson.chris at gmail.com> wrote:

> If you look at PHK's code in FreeBSD this is what is done. The PPS signal
>> gates the timer, so no interrupt is involved in the time stamp precision.
>> But yes, it would be interesting to do something on a FPGA. Unfortunately I
>> wouldn't be able to get to anything like that myself in this lifetime.
> 
> Does the hardware on the NET4501 allow this?  Standard PC hardware doesn't.
>  I thought the 4501 used a "Pentium" CPU and the counter would be internal
> to the CPU and you'd have to read out the count in an interrupt handler.
> I have read the Linux code for this, which I hear is about the same as BSD.
>  But then I read the common x86 achitecture.

The Net4501 isn't standard PC hardware. It uses the AMD Elan SC520 processor, which is essentially a 133 MHz i486, with some additional goodies, such as internal counters. A little bit of soldering is required to get the right electrical connections to make it happen, but John Ackerman describes it pretty well here:  http://www.febo.com/pages/soekris/

The FreeBSD code to read the timer is here http://svnweb.freebsd.org/base/head/sys/i386/i386/elan-mmcr.c?view=markup&pathrev=214346
Look starting at line 224.

Ralph


More information about the Time-nuts_lists.febo.com mailing list