> PCI 3.3v board with: > 10Mhz OCXO (provision for external clock source?) > Uart (serial is an endangered on many PC's) > Free running counter driven from the OCXO and readable by PC > inputs to latch the counter (how many?) with the latched result > also readable (for PPS)
I've been daydreaming along the same line but haven't hit a combination of ideas that feels good enough to actually do anything. My list has a FPGA in the middle. The problem with that is that newer FPGAs don't work on 5V PCI which is what all of my PCs have. The only 3V slots I've seen are in high end (noisy, expensive) servers. The PCI slots on Soekris boards are 3V. That adds another option to think about. There are several possibilities for dealing with 5V PCI. 1: Ignore the problem. Even though the slot is keyed for 5V, nobody actually builds 5V systems any more. You would need to check your system with a scope. This is probably what I would do if I was just making something for myself. There are lots of risks if you want other people to use them. 2: Use QuickSwitch style FET bus switches to protect the FPGA. This is ugly and violates the official PCI spec but probably works in practice. 3: Use an old technology FPGA. 4: Add a PCI-PCI bridge. Run the on-board PCI bus at 3V. 5: PLX makes PCI to ??? chips. This avoids having to make the FPGA talk to PCI. One of the things I was thinking about putting in the FPGA was a pair of 32 bit counters for implementing the unix date/time directly. Anybody know if Intel chips can do a 64 bit atomic read over a PCI bus? Years ago they would always break it into 2 separate 32 bit reads. How about AMD chips or what is on the Soekris boards? The idea is to map the FPGA into user space (uncached) so reading the time is just reading a memory location. Without atomic reads, you might get the date on one day and the time from the next day if you read at midnight. The standard trick is to read date, time, date again and try again if the dates are different. You could also make the FPGA save a copy of the date when you read the time. You would need a copy per job/thread, gets complicated. Touching the PCI bus might be a step backwards on fast CPUs. A major complication for my doing this sort of project is gold fingers and BGAs. Anybody know where to get PCI cards made and/or BGAs mounted at hobbyist quantities/prices? I've used PCBExpress. Their prices are within my budget, but they don't do gold fingers. I haven't checked their Pro prices. I haven't tried the toaster oven approach. There are a couple of web sites that make it look almost reasonable, but it seems like enough time/trouble/clutter that I'd like to avoid it if I can. -- The suespammers.org mail server is located in California. So are all my other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited commercial e-mail to my suespammers.org address or any of my other addresses. These are my opinions, not necessarily my employer's. I hate spam. _______________________________________________ time-nuts mailing list [email protected] https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
