The BG7TBL GPSDO has a 9-pin RS-232 port on the front to let you talk to the GPS receiver inside. However, it is most likely that any of us would be using a serial to USB cable to connect to our computer (not counting an old computer that still has serial ports). Wouldn't it make more sense to eliminate the TTL serial to RS-232 to USB conversions, and go straight TTL serial to USB?
For most users, yes. However, it would cost money to redesign the product (even for such a simple change), and it might alienate existing users who buy them in larger quantities –– those that do product integration.
The main issue is surprisingly isolation. While full-speed USB 2.0 (12 Mbit/s maximum, about 1Mbytes/sec in practice, sustained) isolators exist and are relatively cheap (see ADuM3160 and similar; even the $10 eBay cheapies are okay if you check their isolated DC-DC converter, because the signal side is trivial), UART/TTL isolators are even cheaper, and isolated RS-232-to-USB interfaces are available off the shelf.
Check out my
Public Domain design of ISO6721 UART isolator for example: just the IC and two bypass capacitors.
To add isolation to RS-232 or UART to USB dongle, you really only need a ISO6721 isolator (1.39€ in singles at Mouser, 0.633€ apiece for a full reel), some bypass capacitors, and optionally a low-power isolated DC-DC supply to power the RS-232 transceiver; say Murata NME1S0505SC, RECOM Power RFM-0505S, and so on (about 1.5€ in singles at Mouser). Full-speed USB 2.0 isolators start at about 9€ in singles, 5€ apiece for a full reel at Mouser. High-speed USB 2.0 isolators (ADuM3166, ISOUSB211, etc.) also require a 24 MHz crystal (or reference clock).
When connected to a computer, if the external device is powered from a separate source, the signal grounds may not have the exact same potential, which can lead to
ground loops, and possibly even destroyed equipment. Isolation is often overlooked, but really useful to avoid problematic situations like that. The downside is that both sides of the isolator need separate supplies. If you have an UART with some 20mA available at the logic level VCC pin, that well suffices even for very high data rates (several Mbaud), otherwise you need an isolated DC-DC converter, which can cause some electromagnetic noise issues (itself being a switch-mode supply device with a high-frequency transformer in it).
When the external device is powered by the computer, say from the USB 5V, there is obviously no need for isolation.
A secondary reason is that USB is inherently asynchronous, with latencies on the order of a millisecond or more from the device to an userspace application when using USB 2.0 low or full speed (1 Mbit/s or 12 Mbit/s). UART and RS-232 (without hardware handshaking), on the other hand, is full duplex with the only delays being on the receiver side buffering (hardware and software).
I bring this up because this applies to many DIY projects. I'm even thinking about building one of the GPSDO's mentioned on this forum. Are there any advantages to keeping the RS-232 serial port? Is it more immune to ground loops, or being blown up by voltage differentials between equipment? Or how about static discharge? I know that I've blown a USB port this way at least once.
I would use an USB-to-UART adapter or a CH552G microcontroller (cheap, programmable with open source tools, easy to use) to interface to USB, and remember that you will not be able to receive a
high-precision pulse train or even time via USB, because of the inherent latencies in low-speed/full-speed USB; even in the best case with kernel drivers you'll have jitter on the order of one millisecond (one USB low-speed/full-speed frame). With high-speed USB 2.0, that decreases to about 125µs (1/8000 of a second)
One additional factor is that u-blox GPS receivers also have a built-in USB interface, which makes it even easier to use straight USB, eliminating the serial port entirely.
I only know about the software side, and know nothing about GPSDO per se, or about the signal grounding here.
Even if USB-powered, it may be useful to isolate the analog side from the digital side. The isolated DC-DC controller can be chosen to boost the USB 5V to say 12V, which is then inverted and both positive and negative side regulated to produce the low-noise isolated analog rails. For a more complex device, you might even have multiple isolated power domains. There, knowing that isolating logic-level UART (2.5V to 5V) is cheap and easy even at several Mbaud, but isolating USB is much more expensive, is useful.
One of my own projects is an analysis probe using a Teensy 4.0 microcontroller, with an isolated high-impedance sampling front-end that contains both low-samplerate 16+-bit ADC, and a high-samplerate 8-bit ADC, plus a pair of analog comparators with reference voltages driven from a DAC connected to an UART. The idea is that when I investigate an appliance (router, media box, etc. running some variant of Linux), I could probe running devices, with a program on my computer telling me the distribution of voltages on that pin
and the exact average voltage, and even autodetect UART settings.